以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  读取xml文件,中文变乱码,如何解决?  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=91811)

--  作者:sloyy
--  发布时间:2016/10/19 16:23:00
--  读取xml文件,中文变乱码,如何解决?
在狐表中写读取xml 文件的代码:
ResResult表的RetMsg字段

Dim xmlDoc As New System.XML.XmlDocument
xmlDoc.Load(ProjectPath & "Reports\\财政返回数据.xml")
Dim ndList As System.XML.XmlNodeList = xmlDoc.GetElementsByTagName("ResResult")

For i As Integer = 0 To ndList.count - 1
        Dim ssMsg As String=ndList(i).item("RetMsg").InnerText
next
 MessageBox.Show( "返回代码及说明:" &ssMsg )

结果 ssMsg 英文显示没问题,中文变乱码,该如何处理?

--  作者:有点蓝
--  发布时间:2016/10/19 17:00:00
--  
试试

        Using sr As New IO.StreamReader(ProjectPath & "Reports\\财政返回数据.xml", System.Text.Encoding.UTF8)
            Dim xmlDoc As New System.Xml.XmlDocument
            xmlDoc.Load(sr)
        End Using

不行System.Text.Encoding.UTF8改成其它编码试试

--  作者:sloyy
--  发布时间:2016/10/20 9:23:00
--  
Using sr As New IO.StreamReader(ProjectPath & "Reports\\财政返回数据.xml", System.Text.Encoding.UTF8)
            Dim xmlDoc As New System.Xml.XmlDocument
            xmlDoc.Load(sr)
Dim ndList As System.XML.XmlNodeList = xmlDoc.GetElementsByTagName("ResResult")

For i As Integer = 0 To ndList.count - 1
        Dim ssMsg As String=ndList(i).item("RetMsg").InnerText
next
 MessageBox.Show( "返回代码及说明:" &ssMsg )
End Using

经过测试,完全正确.

--  作者:sloyy
--  发布时间:2016/10/20 9:23:00
--  
非常感谢!!!