Re: JavaScript 的非基本多文種平面(non-BMP)字符支援 (原: 字符编码)

剛翻完 HTML 規範關於判斷字符編碼的部份,回一下這封老信,因為翻譯這個部份
也有一部分原因是封信。

(11/06/08 10:13), Timothy Chien wrote:
>> HTML5 規範的 4.1.1 [4] 提到,腳本的編碼判斷的優先序是:
>> 腳本的 "Content-Type" 標頭 > charset > HTML 的編碼(若完全沒有任何資料的話繁體中文的瀏覽器 用 Big5,簡體中文用 GB18030)
> 3. 最後的()有誤,「HTML 的編碼」就是 .html 檔案的編碼,跟瀏覽器的語言無關。

判斷字符編碼如果到最後([1]的第 8 步)的話就跟瀏覽器有關了。

[1]
http://www.w3.org/html/ig/zh/wiki/HTML5#.E6.B1.BA.E5.AE.9A.E5.AD.97.E7.AC.A6.E7.B7.A8.E7.A2.BC

> 即便瀏覽器的語言是繁中也不一定會把最後的預設值設在 Big5,像我在 Fx3.6 的時候就把它改成 UTF-8 了(為了和英文版行為相同)

自己改就算有資料了啊。這個情況也有寫在第 8 步的第一句裡,雖然後面還是給
了一個瀏覽器語言環境跟編碼的對照表。

這邊有一件可以做的事是有一個要求瀏覽器提供更改預設編碼的規範敘述,比如說

  | UA may/should provide the user with an option to select the default
encoding.

之類的,我不曉得一般來說這種要求合不合理,尤其是行動裝置上的瀏覽器。「UA
提供使用者調掉自動完成」的這個要求也只是個 may 而已[2]。

[2] http://www.w3.org/html/ig/zh/wiki/HTML5#autocomplete_.E5.B1.AC.E6.80.A7

> 4. 贊成標準實作內嵌編碼,優先順序可以改成
>     腳本的 "Content-Type" 標頭 > 內嵌編碼 > charset > HTML 的編碼
> 不然每次都要把中文字改成 \x12ab 真的很煩....

嗚,這還完全沒進展。歡迎有興趣的人寫信到討論 ECMAScript 標準的
es-dicuss[3] 問問看,或是說某個稻草人提案/被回絕的提案裡已經有了?了解
狀況的人歡迎回答一下。

[3] https://mail.mozilla.org/listinfo/es-discuss


Kenny

Received on Thursday, 27 October 2011 09:56:10 UTC