2010-09-13 131 views
3

所以......我仍然在統一地獄......Unicode字符顯示不同的方式在不同的瀏覽器

新問題......

在我的電腦,一切都完美展現。在所有瀏覽器中。在同事電腦上,同樣的故事。一切都很好。即使在我的Linux VPS的elink和w3m中,立陶宛和拉脫維亞的所有奇特的變音符號以及北歐字母都能完美呈現。

但是,今天我有幾個客戶打來的電話,他們得到了通常的unicode騙子組合...「Ã」和另一個角色和類似的東西。

有什麼建議可能是錯的?

技術信息:

Classic ASP 
All files are stored as UTF-8 incl BOM 
All files start with Codepage=65001 page directive 
All files set the Content-Type to "text/html; charset=utf-8" 
+2

客戶端的古代瀏覽器?這是這裏缺少信息的關鍵。 – jkerian 2010-09-13 20:46:50

回答

5

「Ã」和另一個字符和類似的東西。

這是典型的UTF-8內容顯示爲ISO-8859-1。

所有文件中設置的內容類型爲 「text/html的;字符集= UTF-8」

通過<meta>Response.AppendHeader()?您確實需要將其添加爲真正的回覆標題。否則,您將依賴於客戶端平臺默認編碼(MSIE)和/或網頁瀏覽器可以做出的最佳猜測(FF)。您可以使用像Firebug這樣的工具來驗證響應標題。

+0

內容類型由IIS中的MIME類型設置設置。 * .asp被註冊爲「text/html; charset = utf-8」。這個解決方案作爲另一個問題的解決方法在這裏 – 2010-09-13 21:01:00

+0

這些也實際存在於HTTP響應頭文件中嗎?嘗試大寫'UTF-8',你永遠不知道你需要處理什麼客戶端。讓我知道。 – BalusC 2010-09-13 21:02:09

+0

其實我現在看到,對於這個特定的文件,內容類型設置不正確......我可以通過在文件中設置Response.Contenttype來解決這個問題,但爲什麼MIME設置會爲某些文件而不是其他人? – 2010-09-13 21:05:08

0

他們沒有安裝所需的字體?

+3

不,他們會得到空方塊(MSIE)或內部有十六進制代碼的正方形(FF)。 – BalusC 2010-09-13 20:48:41

+0

作爲一個例子,請查看[Wikipedia home page](http://www.wikipedia.org/)的底部。對於某些特定的外來語言,您可以在內部使用十六進制代碼的FF正方形中看到,這只是表示沒有適合字符的字體。十六進制代碼表示Unicode碼點。 – BalusC 2010-09-13 20:56:13

+0

由於Chrome,Safari和Opera不存在。 – Puppy 2010-09-13 20:56:47

相關問題