【发布时间】:2010-07-22 11:18:37
【问题描述】:
我收到一个编码为“ISO-8859-1”(Latin-1)的 XML 文件
在文件中(以及其他标签)我有<OtherText>Example &quot;content&quot; And &#9472;</OtherText>
现在由于某种原因,当我将它加载到 XMLTextReader 并执行“XmlReader.Value”以返回值时,它返回:“content”并且 ─
那么,当遇到只接受 Latin-1 编码的数据库时,显然会出错。
我尝试了以下方法:
- 转换为字节并使用 Encoding.Convert 从 UTF-8 更改 进入 Latin-1 (成功 给我一堆“?”而是)
- 使用 StreamReader(file,Encoding.随便) 将文件加载到 XmlTextReader
以及互联网和 StackOverflow istelf 上的几种变体和不同的方法。
我知道 .NET 字符串是 UTF-16,但我不明白为什么,当存在与旧数据库兼容的 UTF-8 字符和web(用于 HTML 标记等),它只是覆盖它并输出 UTF-8 编码的字符串 ANYWAY。
除了编写我自己的自定义文本解析器之外,没有办法解决这个问题???
【问题讨论】:
标签: .net xml encoding xmltextreader