2012-08-03 55 views
0

我有一個UTF-8 BOM編碼的文件。它有一個字符x9F(DEC 159),它是'Ÿ'字符。 IE和Firefox都無法解析這個文件。編碼元素是encoding =「UTF-8」。我讀過一些舊瀏覽器拒絕顯示x80 - x9F,但這是HTML特有的。任何想法爲什麼IE瀏覽器和FF都絆倒在這?IE無法解析UTF-8

+0

繼續說,你不應該期待任何事情在IE瀏覽器上工作..永遠.. – JTApps 2012-08-03 20:24:22

+0

哪個版本的IE(和火狐)你測試? – Spudley 2012-08-03 21:02:25

+0

我使用IE9和FF14。 – kakridge 2012-08-04 04:44:35

回答

3

ASCII字符全部低於128. Latin-1具有控制代碼,而不是x80 - x9F中的字符,同樣Unicode在代碼點U + 0080到U + 009F中具有控制代碼。如果你的文字中有字符U + 009F,那就錯了;它應該是U + 0178,Ÿ 。如果你的文件中有單字節x9F,那就錯了;大於127的字符必須以UTF-8編碼才能工作。

+0

它看起來像一個單一的x9F是問題。我編輯了我的問題 - 我不是指ASCII,我的意思是一個字節。我應該完成我的功課,因爲我認爲UTF-8覆蓋了接近255個字符的單個字節,而不僅僅是ASCII。 – kakridge 2012-08-06 14:59:31

-1

它實際上是一個常見的問題

UTF-8 BOM應該由XML根據規格的支持,但實際上只有少數幾個解析器接受。通過你的評論,似乎甚至沒有IE和Firefox,至少對於你正在使用的版本來說,這樣做。

你能做什麼?沒有。只是這些解析器不夠好。