2009-04-09 111 views
2

有沒有一種方法來確定是否瀏覽器編碼設置爲/支持從Javascript的「UTF-8」?如何驗證瀏覽器是否正確支持UTF-8字符?

我要發「UTF-8」或「英語」基於瀏覽器的設置透明字母(即不要求用戶)

編輯:對不起,我是不是對這個問題很清楚。在瀏覽器中,編碼通常指定爲Auto-Detect (or) Western (Windows/ISO-9959-1) (or) Unicode (UTF-8)。如果用戶將默認設置爲西方,那麼我發送的字符不可讀。在這種情況下,我想通知用戶將編碼設置爲"Auto Detect" (or) "UTF-8"

回答

1

首先,UTF-8是Unicode字符集的編碼。英語是一種語言。我假設你的意思是'ASCII'(一個字符集和它的編碼)而不是英文。

其次,ASCII和UTF-8重疊;任何ASCII字符在以UTF-8發送時都會以完全相同的位發送。我很確定所有現代瀏覽器都支持UTF-8,而那些不支持UTF-8的瀏覽器可能會將其視爲latin1或cp1252(兩者都重疊ASCII),因此它仍然可以工作。

換句話說,我不會擔心它。

只要確保將文檔正確標記爲UTF-8,無論是在HTTP標頭還是元標記中。

+1

實際上,UTF-8是一種編碼;可以處理整個Unicode字符集的幾種編碼之一(包括UTF-16和UTF-32)。大多數字符集/編碼名稱(如ASCII和cp1252)都表示它們可以編碼的字符以及它們如何編碼。 – 2009-04-09 19:54:01

0

我假設輸出的長度(輸出後回讀)可以告訴您發生了什麼(或者,如果沒有JavaScript,請使用Accept-Charset HTTP標頭,並且假定Unicode時支持UTF-8編碼被接受)。

但是,您最好擔心發送正確的UTF-8標頭等等以及可訪問性的後備方案,而不是擔心當前瀏覽器的UTF-8功能。