flo*_*low 9 c# memorystream streamreader
我想在MemoryStream中打开一个XML文件(来自zip存档),并在此流中创建一个StreamReader,将其放入GridView中.
我用这个代码:
MemoryStream ms = new MemoryStream();
entry.Extract(ms);
StreamReader reader = new StreamReader(ms);
DataSet ds = new DataSet();
ds.ReadXml(reader);
dataGridView1.DataSource = GlobalDs.Tables[0];
Run Code Online (Sandbox Code Playgroud)
如果我的XML文件是用ANSI编码的,那么它可以很好地工作.但是当我加载以UTF8编码的文件时,它会失败,即使我初始化StreamReader如下:
StreamReader reader = new StreamReader(ms, System.Text.Encoding.UTF8);
Run Code Online (Sandbox Code Playgroud)
我希望有人有想法解决我的问题.
Yaa*_*lis 18
尝试使用:
StreamReader reader = new StreamReader(ms, System.Text.Encoding.UTF8, true);
Run Code Online (Sandbox Code Playgroud)
第三个参数是detectEncodingFromByteOrderMarks(msdn)