0

我有一个 UTF-8 BOM 编码的文件。它有一个字符 x9F (DEC 159),即“Ÿ”字符。IE 和 Firefox 都无法解析这个文件。编码元素是 encoding="UTF-8"。我读到一些较旧的浏览器拒绝显示 x80 - x9F,但这是特定于 HTML 的。知道为什么 IE 和 FF 会因此而绊倒吗?

4

2 回答 2

3

ASCII 字符都低于 128。Latin-1 有控制码,而不是 x80 - x9F 的字符,同样 Unicode 在码点 U+0080 到 U+009F 有控制码。如果文本中有字符 U+009F,那就错了;它应该是 U+0178, Ÿ ; . 如果文件中有单字节 x9F,那就大错特错了;大于 127 的字符必须以 UTF-8 编码才能工作。

于 2012-08-05T09:26:47.773 回答
-1

这实际上是一个普遍的问题

根据规范,XML 应该支持 UTF-8 BOM,但实际上只有少数解析器接受它。根据您的评论,至少对于您使用的版本,甚至 IE 和 Firefox 似乎都没有这样做。

你能做什么?没有。只是那些解析器不够好。

于 2012-08-04T00:47:59.247 回答