StreamReader from MemoryStream UTF8 Encoding

I want to open an XML file (from a zip archive) in a MemoryStream and create a StreamReader to create this stream to put it in a GridView.

I am using this code:

MemoryStream ms = new MemoryStream(); entry.Extract(ms); StreamReader reader = new StreamReader(ms); DataSet ds = new DataSet(); ds.ReadXml(reader); dataGridView1.DataSource = GlobalDs.Tables[0]; 

If my XML files are encoded in ANSI, it works fine. But when I upload files encoded in UTF8, it fails, even I initialize the StreamReader as follows:

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

I hope someone gets the idea to solve my problem.

+7
source share
1 answer

Try using:

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

Third parameter for detectEncodingFromByteOrderMarks ( msdn )

+17
source

All Articles