我正在尝试读取一个包含一些中文字符的XML文件。在文件中写入信息时,UTF-8编码正常,中文字符正确写入文件。但是,当我尝试阅读它时,它显示了一些?????代替。
我只是想知道是否有人已经遇到过这个问题并且可以给我一些线索。
答案 0 :(得分:6)
首先,请确保数据在UTF8中实际可读,您的方法是:
如果你看到相同的乱码文本,你实际上并没有创建UTF8编码的xml,而是其他东西。
回到你的问题:
既然您没有向我们提供大量信息,那么您首先解析XML是一个如何使用UTF8专门解析它的示例:
var xmlDoc = XDocument.Parse(
File.ReadAllText("filelocation", System.Text.Encoding.UTF8));
XDocument
类是System.Xml.Linq
命名空间的一部分。
此外,如果您想要优化它,您可能不希望传入流而不是包含整个xml文档的字符串。