2 字节 UTF-8 序列的字节 2 无效

2022-09-01 09:45:07

我正在尝试解析 XML 文件,但遇到错误消息 。有谁知道是什么导致了这个问题?<?version = 1.0, encoding = UTF-8>invalid byte 2 of 2-byte UTF-8 sequence


答案 1

最常见的是由于进食(Latin-x,如Latin-1),但解析器认为它正在得到。某些 Latin-1 字符序列(两个带有重音符号或元音变音符的连续字符)构成无效的内容,特别是基于第一个字节,第二个字节具有意外的高阶位。ISO-8859-xUTF-8UTF-8

当某些进程使用 Latin-1 转储时,这很容易发生,但要么忘记输出声明(在这种情况下,解析器必须默认为 ,根据规范),要么声称它不是, 即使它不是。XMLXMLXMLUTF-8XMLUTF-8


答案 2

解析器设置为 UTF-8,即使文件以其他方式编码,或者文件声明为使用 UTF-8 但实际上并非如此。


推荐