我想要.xml
对.rng
进行验证,但我一直收到此错误
parser error : Input is not proper UTF-8, indicate encoding !
Bytes: 0xEA 0x63 0x68 0xE9
<name>Ev▒ch▒ of Seeet Di▒</name> //here the original word is Evéchç of seeet diè
^
myfile.xml:33: parser error : Entity 'nbsp' not defined
<name>SCIEF Toto</name>
<?xml version="1.0" encoding="UTF-8"?>
答案 0 :(得分:0)
字节序列0xEA 0x63 0x68 0xE9
是&#34; êché
&#34;在ISO-8859-1(和其他字符集)中,所以看来引用的部分中的第一个字实际上是&#34; Evêché
&#34;? (不是&#34; Evéchç
&#34; ...)
在UTF-8中,êché
的字节为0xC3 0xAA 0x63 0x68 0xC3 0xA9
。
所以看来源码实际上并不是用UTF-8编码的,而是用ISO-8859-1编写的?
如果是这样,必须将XML声明更改为<?xml version="1.0" encoding="ISO-8859-1"?>
,或者需要将源转换为UTF-8(例如,使用iconv
)。
关于
的错误,那是因为它是HTML字符引用而没有为任意XML文档定义。只需将其替换为 
或 
,该错误就会消失。