SAXParser 在遇到无效字符时不会抛出异常
如果我在 ansi xml 文件中放入一个 utf8 字符 » 并尝试使用 SAXParser 解析它,那么它的解析不会出现任何错误。为什么它没有抛出任何异常?
示例 xml 文件。保存为ansi编码。 Chrome 无法打开该文件,但 saxparser 解析它没有错误。
<?xml version="1.0" encoding="UTF-8"?>
<root date="2010-06-17">
<product
id="1 "
label= « xyz"/>
</root>
w3c xml验证器也无法检查此文档。
If i put a utf8 character » inside and ansi xml file and try to parse it with SAXParser then it is parsed without any error. Why it is not throwing any exception?
sample xml file. Save it as ansi encoding. Chrome unable to open the file but saxparser parses it without error.
<?xml version="1.0" encoding="UTF-8"?>
<root date="2010-06-17">
<product
id="1 "
label= « xyz"/>
</root>
w3c xml validator is also unable to check this document.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
该文件可能仍然格式良好。
我没有检查所有 ANSI 字符集,但 Windows-1252 中存在
»
(U+00BB)。如果将 UTF-8 编码的字节序列C2 BB
转储到 Windows-1252 编码文件中,它仍然是该编码的合法字节序列。 它将被视为字符序列»
(U+00C2 U+00BB)。The document is likely still well formed.
I haven't checked all the ANSI character sets, but
»
(U+00BB) is present in Windows-1252. If you dump the UTF-8 encoded byte sequenceC2 BB
into a Windows-1252 encoded file it would still be a legal byte sequence for that encoding. It would be treated as the character sequence»
(U+00C2 U+00BB).» 如下:
如果将“c2 bb”放入以下文件中被读取为 win-1252 它将出现
»
。不需要有任何错误。» is the following:
If you put "c2 bb" in a file that is being read as win-1252 it will come out
»
. There is no error needed.