【发布时间】:2017-10-21 16:04:39
【问题描述】:
我有一个巨大的 XML 文件,其中包含软件名称及其版本的列表。其中之一是具有非英文字符 ó,如下面的 sn-p 所示。 如果我用浏览器打开 XML 文件,它不会显示任何内容。但是如果我只是删除这个非英文字符 ó ,就会显示整个 XML。
<Item Software="SDK de comprobación de Visual Studio 2012 - esn" Version= "12.0.30501" />
这显然意味着非英语字符 ó 正在导致这种情况发生。
这就是我的 XML 文件的样子:
<?xml version="1.0" encoding="UTF-8"?>
<Softwares>
<Item Software="SDK de comprobación de Visual Studio 2012 - esn" Version= "12.0.30501" />
<Item Software="Notepad++" Version= "72.0.45" />
<Item Software="MyApp" Version= "7.8.45" />
..................................
</Softwares>
它是否与编码有关?我得到相同的结果 即使没有提到我认为默认为 utf-8 的编码。我也尝试将 UTF-16 作为格式也不起作用。 我对 XML 很陌生。
【问题讨论】:
-
您确定您的文件是用 UTF-8 编码的吗?否则它是有效的 XML。
-
是我在 XML 文件开头使用的确切行。是否正确。
-
该行不控制编码,它只声明它。您还必须以该编码保存文件。
-
如何在 C++ 中使用 std::fstream 以编程方式将 XML 文件保存为 utf8?。
-
这是另一个问题,但在 SO 上已被多次询问。 stackoverflow.com/questions/4018384/… 是一个。
标签: xml encoding utf-8 character-encoding utf-16