2012/6/18 Kang-Hao (Kenny) Lu <[email protected]>: > 抱歉,回信晚了很多。
不好意思,最近忙於研究工作,所以更晚回了.. > (12/06/13 0:20), Evan Li wrote: >> 因為這議題對我來說是有點大,而且我的編碼這領域還在摸索 >> 所以整段文章看下來,有諸多不了解的部份,以下如果有一些不當的問題?也請大家不吝指教 > 我試著回答下面問題,也請大家不吝指教。 以下是我的理解: >> 1.在顯示中文時,不能根據<meta charset="big5">,則瀏覽器就以big5來解碼,若設定為<meta >> charset="big5-hkscs">就以big5-hkscs來解碼嗎?為什麼一定要有一個預設的解碼呢? > > 主要是沒有人知道 "big5" 是什麼。"big5" 是一個大標籤,有很多種類[1],看起 > 來最「官方」的 big5-2003 就我所知沒有任何瀏覽器採用(也不知道到底有什麼 > 軟體採用),最不官方的微軟 CP950 有最多的使用者。 Evan的認知是沒錯的。不過問題出在於截至目前為止,使用者多數是用windows作業系統, 採用的瀏覽器是ie。 很不幸的,在香港地區ms當時的解決方案是提供一個系統更新,加上香港增補字符集 (包含輸入法以及外字集字符)。雖然系統編碼從CP950變成CP951, 但是仍然沿用big5的名稱。因此當地的網頁提供者也就標示big5作為網頁編碼。 對非ie瀏覽器而言,CP951就是big5-hkscs,但是因為網頁標示的編碼 是big5而非big5-hkscs,在非ie瀏覽器沒有使用作業系統的編碼表, 只仰賴網頁標示以自建的編碼表轉換成unicode後取用系統的字型顯示, 又一直無法強迫以big5-hkscs覆蓋big5的情況下, 當地的使用者就會遇到明明有字卻看不到,每看一頁都要手動指定編碼的問題。 http://download.microsoft.com/download/1/9/a/19a510cf-cf3b-49e8-933d-8941703052f2/whitepaper.doc http://www.cnblogs.com/awpatp/archive/2010/05/17/1737451.html http://blogs.msdn.com/b/shawnste/archive/2007/03/12/cp-951-hkscs.aspx 之前爬google的結果是,firefox的使用者可以以安裝addon, 強迫標示為big5的網頁全部以big5-hkscs解釋,但是opera沒有考慮這個解法。 (畢竟對非中文使用者來說,其實無法判斷是應該使用哪種big5編碼) 因此阿菲希望直接以big5-hkscs取代big5(CP950)這個子集合。 當然這個解法好不好需要一個評估標準,對其他地區的使用者會有怎樣的影響? 再加上香港地區官方已經放棄big5-hkscs編碼改推unicode, 所以有著前面幾個ml上的討論。 >> 2.以目前firefox來說,若網頁設定為<meta >> charset="big5">時,解碼表big5所指的就是big5-2003嗎?還是big5-uao呢? > big5-uao。同樣參考[1]。 [1]的說法是big5-2003+uao >> 3.以菲哥(阿菲)舉的例子來說( >> http://lists.whatwg.org/htdig.cgi/whatwg-whatwg.org/2012-April/035370.html) >> "重唔變晒烏\x8b\xf8縮得就縮",得到的結論是opera-hk, firefox-hk, chrome-hk >> win,其他幾個例子也都是hk可以正確顯示。我比較好奇的是只拿香港的論壇或 >> 文章來決定該用big-hkscs做為default的big5解碼表是適合的嗎? > > 單就以那篇文章的資料的確不合適,但是後來從 .tw 的網站也做了類似的事情 > [2],基本上還是可以得到「雖然在香港 big5-hkscs 比 CP950 好很多,但是在台 > 灣其實 big5-uao 沒有比 CP950 好很多。」的結論。 Kenny有發現一些網頁似乎是採用big5-2003的編碼,我的猜測則是有不少其實是 從office文件直接複製貼上,再轉換成html格式的。所以像是分項符號, 跟英文常見的'在big5-hkscs跟big5-uao都無法正確解釋。 >> 這種情況我的感覺是,我在big5裡自建立台灣話的編碼big5-tw,再用台灣話的 >> 論壇文章來證明,big5-tw是比較適合做為default的big5解碼表感覺,所以是否 >> 應該先建立一套較完整的比較標準呢? > > 阿菲的比較標準是 Alexa 前百萬網站裡每個各選十頁,所以在[2]的統計裡面台灣 > 網站其實比香港網站多了,我不能說很喜歡這個標準(個人是希望前萬名每個一千 > 頁),但是主要問題是 Bing API 不能抓超過二十頁、、、另外,老實說我不覺得 > 換個方式會得到很不一樣的結果。 > >> 4.另外,所謂的預設解碼,是否應該參考哪一個編碼的涵蓋的字量比較多呢? > > 基本上字量不很重要,不過假如編碼 A 可解碼的字是編碼 B 的真父集,那一般用 > A 就比較好。在這裡的問題是 big5-uao 跟 big5-hkscs 沒有子集父集的關係,是 > 有衝突的。 > >> 如果數量不是決定因素時,那是否也是要先建立一套較完整的benchmark來評估 >> 哪一個編碼最適合呢?再請先進們幫忙解惑了! > > [2]看起來還算不錯吧?當然,多弄一些各種情形(像是上面說的前萬名每個一千 > 頁)也不嫌少就是了。 目前似乎只有bing有這個的api可以免費使用,會不會造成什麼樣的bias也不得而知。 > (12/06/13 16:42), Evan Li wrote: >> 我再追加一個問題,由於我與一些台灣有在使用big5自造區的人討論到,似乎有 >> 不少big5使用者會用到自造區,例如: >> >> - 中國海 >> - UAO >> - 漢字構型資料庫 ( http://cdp.sinica.edu.tw/ ) >> - 中華佛典CBETA ( http://www.cbeta.org/download/cbreader.php ) >> - 甚至於部份中文語言系的使用者都會使用自訂造字區 >> - 其他... >> >> 但如果瀏覽器的big5解碼表預設是使用big5-hkscs的話,那這些自造區的字是否 >> 就無法呈現了呢? 以目前Firefox跟Opera的作法來說(Chrome不清楚),瀏覽器自帶解碼表, 因此在w3c的標準下,非定義的使用自訂造字區會對應到unicode的一個缺字符號, Opera完全依照w3c的標準,Firefox則是不顯示。 上述的幾個字造字都無法顯示。不過因為Firefox後來採用了big5-2003+uao, 在與big5-2003不衝突的UAO有收錄,且UAO收錄了大部分的中國海字型(沒有鍵盤符號), 因此「大多數」的1, 2可以正常顯示。 其餘的恐怕只有在windows有安裝相關字型的ie能夠正常顯示。(請見moztw的討論) >> 還是FF本來就無法顯示自造區使用者製作的字型呢? > 這個問題有點廣泛,UAO 跟 big5-hkscs 有一些重複吧?那這些重複的造字區的字 > 在 big5-hkscs 就可以呈現,否則不行。像是「漢字構型資料庫」和「中華佛典 > CBETA」還真的沒聽過,大概不行,不過恐怕要拿對應表查一查。 > 有興趣的話可以來翻一下 Encoding Standard[3],裡面有 big5-hkscs 的對應表 > (規範文字裡也有解讀的方法),其他的在[1]都有。 > > [1] http://moztw.org/docs/big5/ > [2] > http://lists.whatwg.org/htdig.cgi/whatwg-whatwg.org/2012-April/035370.html > [3] http://dvcs.w3.org/hg/encoding/raw-file/tip/Overview.html -- Best regards, Yuan Chao
