读取XML中文汉字乱码如何编码
读取XML中文汉字乱码怎么编码
已经知道XML
<?xml version="1.0" encoding="utf-8?>
<DocumentElement>
<Tickets>
<ID>5363887</ID>
<SchemeID>4988243</SchemeID>
<PrintOutType>135</PrintOutType>
<Identifiers>JDD2018335526896551</Identifiers>
<LotteryID>45</LotteryID>
<PlayTypeID>4501</PlayTypeID>
<IsuseName>20140410</IsuseName>
<Ticket>SPF|73=3|单关</Ticket>
<Multiple>1</Multiple>
<Money>2</Money>
<OneMoney>2.00</OneMoney>
<zhushu>1</zhushu>
</Tickets>
<Tickets>
<ID>5267696</ID>
<SchemeID>4854629</SchemeID>
<PrintOutType>135</PrintOutType>
<Identifiers>JDD255235228569952</Identifiers>
<LotteryID>45</LotteryID>
<PlayTypeID>4501</PlayTypeID>
<IsuseName>20140410</IsuseName>
<Ticket>SPF|73=3/1/0,74=1,75=0,76=0|4*1</Ticket>
<Multiple>1</Multiple>
<Money>6</Money>
<OneMoney>2.00</OneMoney>
但是我读出来的XML中文汉字是乱码,读取代码:
string allstrLine = "";
OpenFileDialog fileDialog = new OpenFileDialog();
if (fileDialog.ShowDialog() == DialogResult.OK)
{
FileStream fs = new FileStream("c:\\Users\\Administrator\\Desktop\\" + fileDialog.SafeFileName + "", FileMode.Open);
StreamReader m_streamReader = new StreamReader(fs);
m_streamReader.BaseStream.Seek(0, SeekOrigin.Begin);
string strLine = m_streamReader.ReadLine();
do
{
strLine = m_streamReader.ReadLine();
allstrLine += strLine;
} while (strLine != null && strLine != "");
m_streamReader.Close();
m_streamReader.Dispose();
fs.Close();
fs.Dispose();
allstrLine就是读出来后的XML。但是中文字符串是乱码,怎么解决贴上代码谢谢,搞不定
------解决方案--------------------
已经知道XML
<?xml version="1.0" encoding="utf-8?>
<DocumentElement>
<Tickets>
<ID>5363887</ID>
<SchemeID>4988243</SchemeID>
<PrintOutType>135</PrintOutType>
<Identifiers>JDD2018335526896551</Identifiers>
<LotteryID>45</LotteryID>
<PlayTypeID>4501</PlayTypeID>
<IsuseName>20140410</IsuseName>
<Ticket>SPF|73=3|单关</Ticket>
<Multiple>1</Multiple>
<Money>2</Money>
<OneMoney>2.00</OneMoney>
<zhushu>1</zhushu>
</Tickets>
<Tickets>
<ID>5267696</ID>
<SchemeID>4854629</SchemeID>
<PrintOutType>135</PrintOutType>
<Identifiers>JDD255235228569952</Identifiers>
<LotteryID>45</LotteryID>
<PlayTypeID>4501</PlayTypeID>
<IsuseName>20140410</IsuseName>
<Ticket>SPF|73=3/1/0,74=1,75=0,76=0|4*1</Ticket>
<Multiple>1</Multiple>
<Money>6</Money>
<OneMoney>2.00</OneMoney>
但是我读出来的XML中文汉字是乱码,读取代码:
string allstrLine = "";
OpenFileDialog fileDialog = new OpenFileDialog();
if (fileDialog.ShowDialog() == DialogResult.OK)
{
FileStream fs = new FileStream("c:\\Users\\Administrator\\Desktop\\" + fileDialog.SafeFileName + "", FileMode.Open);
StreamReader m_streamReader = new StreamReader(fs);
m_streamReader.BaseStream.Seek(0, SeekOrigin.Begin);
string strLine = m_streamReader.ReadLine();
do
{
strLine = m_streamReader.ReadLine();
allstrLine += strLine;
} while (strLine != null && strLine != "");
m_streamReader.Close();
m_streamReader.Dispose();
fs.Close();
fs.Dispose();
allstrLine就是读出来后的XML。但是中文字符串是乱码,怎么解决贴上代码谢谢,搞不定
------解决方案--------------------
using(StreamReader sr = new StreamReader("c:\\Users\\Administrator\\Desktop\\" + fileDialog.SafeFileName + "",Encoding.UTF8)
{
sr.ReadToEnd();
}