我有一个UTF-8 BOM编码的文件。它有一个字符x9F(DEC 159),它是'Ÿ'字符。 IE和Firefox都无法解析此文件。编码元素是encoding =“UTF-8”。我读到一些旧的浏览器拒绝显示x80 - x9F,但这是HTML特有的。知道为什么IE和FF会绊倒吗?
答案 0 :(得分:3)
ASCII字符都低于128. Latin-1具有控制代码,而不是x80-x9F处的字符,同样Unicode在代码点U + 0080到U + 009F处具有控制代码。如果你的文字中有U + 009F字符,那就错了;它应该是U + 0178,Ÿ 。如果你的文件中有单字节x9F,那就是双重错误;大于127的字符必须以UTF-8编码才能工作。
答案 1 :(得分:-1)
这实际上是一个常见的问题
根据规范,XML应支持UTF-8 BOM,但实际上只有少数解析器接受它。通过你的评论,似乎甚至IE和Firefox,至少对于你正在使用的版本,都没有。
你能做什么?没有。只是那些解析器不够好。