10

XML ファイル (zip アーカイブから) を MemoryStream で開き、このストリームから 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];

XML ファイルが ANSI でエンコードされていれば、問題なく動作します。しかし、UTF8でエンコードされたファイルをロードすると、そのStreamReaderように初期化しても失敗します:

StreamReader reader = new StreamReader(ms, System.Text.Encoding.UTF8);

誰かが私の問題を解決するアイデアを持っていることを願っています。

4

1 に答える 1

19

使用してみてください:

StreamReader reader = new StreamReader(ms, System.Text.Encoding.UTF8, true);

3番目のパラメータはdetectEncodingFromByteOrderMarksmsdn)用です

于 2013-02-13T14:47:41.357 に答える