Xml IE Can';t解析UTF-8

Xml IE Can';t解析UTF-8,xml,internet-explorer,firefox,encoding,Xml,Internet Explorer,Firefox,Encoding,我有一个UTF-8 BOM编码的文件。它有一个字符x9F(DEC 159),即“Ÿ”字符。IE和Firefox都无法解析此文件。编码元素为encoding=“UTF-8”。我读到一些旧的浏览器拒绝显示x80-x9F,但这是特定于HTML的。知道为什么IE和FF会被这个绊倒吗 这实际上是一个常见的问题 根据规范,UTF-8BOM应该由XML支持,但实际上只有少数解析器接受它。根据你的评论,似乎连IE和Firefox都没有这么做,至少在你使用的版本上是这样 你能做什么?没有什么。只是这些解析器不够好

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

这实际上是一个常见的问题

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


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

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

冒险说,你不应该期望任何东西在IE上工作。。你正在测试哪个版本的IE(和Firefox)?看起来问题出在一个x9F上。我编辑了我的问题-我不是指ASCII,我是指一个字节。我应该做我的家庭作业,因为我认为UTF-8用一个字节覆盖了接近255个字符,而不仅仅是ASCII。