xml 由于变音字符,格式不正确。
xml not well formed due to umlaut characters.
我有一个 xml 文件声明:
<?xml version="1.0" encoding="utf-8"?>
当我用 3 个不同的编辑器打开它时,我得到以下信息:
显然,有 3 种不同的表示形式。 Notepad 给我正确的符号,Notepad++ 给我十六进制和 emacs 八进制代码。
我有一个 Perl 代码可以测试 xml 是否格式正确。一旦 xml 具有这些元音变音字符,xml 文件的格式就不正确,无法加载到我的数据库中。当我删除所有变音字符(和希腊符号等)时,xml 文件格式正确,我可以将该文件导入数据库。
我的目标是拥有一个 xml 文件,我可以将其导入到考虑变音字符(和希腊符号等)的数据库中。
这种行为的原因是什么?是创建xml时造成的吗?
在我看来,您输入中的 ä
字符可能被编码为 xE4,这是 iso-8859-1(和 Windows CP-1252)中字符的表示形式, 但不是 UTF-8 中的正确表示。您的三个编辑器正在以不同的方式处理XML声明中声明的编码与实际编码之间的不一致。
通过确保 XML 声明中命名的编码与字符的实际编码匹配来解决问题。
问题可能是在首次创建 XML 文件时引入的,也可能是由某些随后更改字符编码的进程引入的,而没有更改 XML 声明以匹配新的编码。如果文件由非 XML 感知进程转码,则可能会发生这种情况。
我有一个 xml 文件声明:
<?xml version="1.0" encoding="utf-8"?>
当我用 3 个不同的编辑器打开它时,我得到以下信息:
显然,有 3 种不同的表示形式。 Notepad 给我正确的符号,Notepad++ 给我十六进制和 emacs 八进制代码。
我有一个 Perl 代码可以测试 xml 是否格式正确。一旦 xml 具有这些元音变音字符,xml 文件的格式就不正确,无法加载到我的数据库中。当我删除所有变音字符(和希腊符号等)时,xml 文件格式正确,我可以将该文件导入数据库。
我的目标是拥有一个 xml 文件,我可以将其导入到考虑变音字符(和希腊符号等)的数据库中。
这种行为的原因是什么?是创建xml时造成的吗?
在我看来,您输入中的 ä
字符可能被编码为 xE4,这是 iso-8859-1(和 Windows CP-1252)中字符的表示形式, 但不是 UTF-8 中的正确表示。您的三个编辑器正在以不同的方式处理XML声明中声明的编码与实际编码之间的不一致。
通过确保 XML 声明中命名的编码与字符的实际编码匹配来解决问题。
问题可能是在首次创建 XML 文件时引入的,也可能是由某些随后更改字符编码的进程引入的,而没有更改 XML 声明以匹配新的编码。如果文件由非 XML 感知进程转码,则可能会发生这种情况。