0

我们正在解析 xml 文件,其中包含用户信息,如姓名、年龄等。但是用户来自世界各地,我们需要在 xml 中设置不同的字符集。例如,有一个名为“Sikl¢si”的用户。如果我设置 xml 编码 UTF-8,c# xmldocument 对象在 xml 加载时会引发异常。我将编码更改为 iso-8859-9,它现在可以工作了。但是,如果我们有另一个没有被 iso-8859-9 覆盖的有趣字符,那又会是个问题。这个问题的最终解决方案是什么。

4

2 回答 2

3

最终的解决方案是首先知道使用什么编码来对文件进行编码。XML 文件应在 XML 声明中说明它使用的编码(例如<?xml charset="UTF-8" ?>)。如果不是,那么文档应该是 UTF-8 或 UTF-16(并且可以自动检测它们之间的差异)。

您的 XML 解析器应该根据 XML 文件中的信息透明地处理编码。

如果您收到无法解析的文档,那么问题很可能首先在于它们是如何生成的。您应该拒绝它们并告诉提交者修复编码。

(请注意,任何 Unicode 编码几乎可以处理您可能需要的任何字符(以及您不需要的大量字符)。问题是文档不是 UTF-8,而不是 UTF-8 可以t 处理正在使用的字符)。

于 2012-02-08T12:00:09.603 回答
-1

将其设为 UTF-32,它将覆盖其中的大部分。有关 UTF 的更多信息,请访问

于 2012-02-08T11:58:04.440 回答