Calendar

三月 2012
M T W T F S S
« Jan   Apr »
 1234
567891011
12131415161718
19202122232425
262728293031  

Categories

關於 Unicode 補完計畫

我相信很多人自從拜讀了一些文章後,非常相信安裝 Unicode 補完計畫是錯誤的決定。
然而,這些提倡不要安裝 Unicode 補完計畫的人,並沒有像我們一樣在常態性使用 BIG5 編碼的論壇。
他們說的雖然沒有錯,但僅限於他們個人的使用範圍內是對的,並不能概括所有的範圍,所以並不是真理。
這篇就來做個簡單的掃盲。

首先,Windows NT 家族的系統內碼已經是 Unicode。
Windows 2000/XP/Vista/7 都是 NT 家族的系統,所以不用去擔心檔名會被 Unicode 補完計畫影響到的問題。
至於燒錄光碟的問題,事實上也老早就解決了。
那些有問題的例子,大都是在使用非 Unicode 燒錄程式的年代燒的光碟,才會造成那種悲劇現象。
UDF 和 ISO9660 with joliet 完全支援 Unicode 檔名,你燒進去到哪台電腦都能正常讀取,這毫無問題。
在過去時代裡作了惡夢一路怕到現在的,也是時候該醒醒了。

長年以來,在 BIG5 編碼的論壇裡,貼日文字串的人就分成 IE+UAO 和 Firefox 兩大派系。
你會發現,在使用論壇的搜尋功能時,用 IE+UAO 貼出來的日文標題,只有 IE+UAO 可以搜尋得到;
而 Firefox 貼出來的日文標題,則是只有用 Firefox 才搜得到。
這個原因很簡單,因為 IE+UAO 和 Firefox 貼出來的日文,其實是完全不同的東西,而論壇系統不認得 Firefox 貼的。
換句話說,你拿 Firefox 去貼 Unicode 日文到只支援 BIG5 編碼的論壇,根本是在強姦論壇系統,論壇系統也不會幫你把編碼轉成 BIG5 才存入資料庫。
論壇系統期望你輸入的是 BIG5 編碼,但你丟了 Unicode 給他,硬要他吃下來,不是強姦它是什麼?
事實上,在這些站長死都不願意將論壇編碼轉為 UTF-8 之前,貼日文字只有 IE+UAO 才是正統、才是王道,這是無庸置疑的。
使用 Firefox 硬上 Unicode 的人,才是 BIG5 編碼論壇裡的亂源,而這些人卻反而時常在裡面呼籲大家不要使用 UAO,簡直本末倒置。

請記住,論壇系統的編碼就是 BIG5,它不認識 Unicode。
你要硬上,它就是沒辦法正確處理你的輸入,無論是斷字,還是字數計算的功能,全部都不會照你所想的那樣運作。
你或許會發現,有些人貼的日文標題總是比你能貼的長,但你不行,那是因為你實際上貼了更長的字串在強姦系統而不自知。
你或許會發現,你貼的東西在一些需要縮短標題的地方,譬如首頁上每個板區的最後發表,或是那種三欄式的熱門話題、最新話題、最新回應等地方,
別人貼的日文標題就是可以正確顯示,而你貼的就是出現一堆 &#xxxxx; 構成的像是亂碼的東西,或是前幾個字正常,後面都變成那樣。
你或許又會發現,你寫給分享者問問題的 PM,在送出以後,標題變成這副德行:

有些論壇在引述別人的文章時,被自動帶入的引言會自動截短一點,而別人引你的文時,最後的地方也會變得跟上圖一樣。
這一切的一切,都是因為論壇明明就不支援 Unicode,你卻硬要送 Unicode 去強姦它所致。
在這邊,我不打算再花時間去解釋那個 &#xxxxx; 是什麼 (想知道的請自行參閱字元實體引用)。
總之只要論壇系統不認識它,它就可能被斷在不對的位置,造成那玩意無法被你的瀏覽器轉譯回日文,就是這麼簡單。
如果你在整頁文章都是日文標題的文章列表叫出網頁原始碼來看,你會發現有些人的日文標題也是上面這種編碼,所以也難怪用 IE+UAO 時搜尋不到它們。
當然反過來,你拿 Firefox 也無法搜尋到那些用 IE+UAO 貼出來的日文標題。
這樣的亂源,導致整間論壇的資源無法被充分有效利用,明明已經存在的資源,卻被某些人當成不存在。

換言之,只要你還在使用這些 BIG5 編碼的論壇,你就得乖乖地安裝 UAO 並使用 IE 這類型的非 Unicode 瀏覽器。
你覺得用 IE 的都是笨蛋,不爽用 IE,那也是沒問題,只是你要自己會判斷你的瀏覽器是屬於哪一種程式。
你不裝 UAO,也請懷著愧疚的心態,在 BIG5 編碼的論壇裡與其他有裝 UAO 的人互動。
我知道很多人讀了那些反 UAO 的文章後,以為自己拿著 Firefox 去強姦 BIG5 編碼的論壇才是對的,甚至還試圖在那些地方排擠 UAO 的使用者並嘲笑他們無知。
但我必須要說,最應該被嘲笑的其實就是你,最無知把那些反 UAO 文奉為圭臬視為真理的其實也是你。
那些反 UAO 的文章論點其實有錯的並不多,有的只是過時,有的則是作者的網路生活圈跟你其實大不相同,你卻以為那是放諸四海皆準的真理。

當然,真正該受到譴責的,並不是 UAO 的使用者,也不會是反對使用 UAO 的人,而是死守在 BIG5 編碼的論壇站長。
我也知道,曾經有一些勇者站長做過這些轉換,結果造成大量的舊文章因此從容就義了。
文章標題一遇上日文漢字,那後面的字就會完全消失,原本文章的內文有 400 字以上,結果因為第三個字就是日文漢字,那篇文章在轉換後剩下 3 個字。
有些站長比較謹慎,會私下做測試,但發現到這個問題後,就決定放棄不轉了。
然而,這一切的都還是歸咎於他們能力的不足,以致於明明陸陸續續有會員呼籲要轉成 UTF-8,還是繼續無視這個需求。
大部分的論壇都是架在 *nix 類型的系統上,Unicode 補完計畫有出 libiconv 的 patch,UAO 貼出來的日文可以在那個環境被正確辨識並轉換。
除此之外,libiconv 老早也支援了 BIG5-2003 這種編碼,而這編碼大致上和 UAO 是相容的。
這也就是說,其實在論壇的伺服器上,也可以很輕鬆地將以往的 BIG5 日文轉換為 UTF-8 的日文,只是這些站長懶得研究怎麼用,或者是不會。

不過…
今天站是人家開的,你又想待在人家的站上,他不想配合你給你方便,你也只好配合他。
所以不管這些站長是不願意還是不會轉 UTF-8,你想寄生在那邊,就請你乖乖貼 BIG5 編碼或 BIG5 擴充編碼的文字。
不要整天在那邊拿 Firefox 去強姦人家系統,還在怪其他會員都裝 UAO 害你搜尋不到東西。

但其實除了以上的狀況外,還有一種更糟的人我沒提到,那就是伸手黨。
他們沒有貼日文的需求,只有看日文的需求,而這票人多半又喜歡使用 IE,不知道或不想去用支援 BIG5-2003 的 Firefox,於是他們看到 IE+UAO 的分享者貼出來的日文不是亂碼就是框框。
而在這其中,又有些人知道那是 UAO 貼出來的日文,這些人以前用 win98 的年代因為自己笨卻以為被 UAO 害到,加上又看過那些反 UAO 的文章。
結果反而會跳出來在那邊喊,要分享者不要用 UAO 貼日文。
有些劣根性重的,甚至會跑去建議站方禁止會員用 UAO 貼日文,這我只能說已經徹底沒救了。

如果你曾經做過上面那些愚行,看到這篇文章後,請去向那些被你荼毒過的 UAO 使用者道歉。
當然,如果你是 BIG5 編碼論壇的重度使用者卻沒裝 UAO,看到這篇以後,請你快點去裝 UAO。
Vista 跟 Win7 的裝法網路上一大堆,也不需要我再教了,反正就是換 CP950 那個檔的 owner,還有用 XP 相容模式啟動安裝程式而已。
那些站長不想改編碼,那就請你去用力操他的論壇,日文標題拿 IE+UAO 搜尋一遍,再用 Firefox 搜尋一遍。
他們不想轉碼,搜尋量翻倍就是代價,要是他們因此加上一堆無聊限制,你也只能忍受,不然就真的只能說不爽不要上。
抵制那些網站讓它們通通都倒站,新生的論壇自然就會是 UTF-8 編碼,而且新生代的站長幾乎都知道該用 UTF-8 編碼的論壇程式來架站了。
我是沒有這麼大的雄心抱負,連上個網都還要跟人家組團搞革命。
反正我適應力超強,乖乖裝 UAO 就沒事了,只是拜託別再繼續做以上所說的那些無知行為。

不要跟我吵說這種事沒有一定的對或錯;這確確實實可以使用二分法去判斷對錯。
別跟我說你家放電池的電器,把電池的正負極方向弄顛倒,也沒有絕對的對錯可分,除非你想故意找碴或根本就是有病。
你在 BIG5 編碼的論壇用 BIG5 編碼天經地義,要別人用其它編碼去強姦系統就是你錯,你硬要用 UTF-8 當然還是你錯,沒什麼好說的。
至於那些站長不轉編碼到底對還是錯,那才是無法適用二分法去判斷的問題。
但是談這東西也沒啥幫助,反正最後一定變成政治文。
像是扯到政府無能,沒 guts 跟微軟說不支援 BIG5-2003 就不准在國內做生意,阿扁下台(?

至於最多人喜歡說的 notepad 存 ANSI 在別台沒裝 UAO 的電腦不能看的問題…
我想請問,你沒裝 UAO 前存成 ANSI 難道再打開來就能看嗎?還是不能嘛。
只不過就是你裝了 UAO 之後,儲存成 ANSI 的時候不會提示你有些字元會無法正確存進去。
人都長這麼大了,自己要會判斷。
既然是要拿到別台可能沒裝 UAO 的電腦開,那本來就應該存成 UTF-8。
不要再怪裝了 UAO 就少了那個防呆提醒,一忘記就存成 ANSI 了。
能編輯純文字檔的又能預設存成 UTF-8 的編輯器那麼多,你偏偏要用 notepad 怪誰。
事情本來就沒有十全十美的,你要在論壇那邊方便,你這些軟體使用上就應該自己多留意。不然就別上,或買第二台電腦專門上論壇。
選擇有很多,這個也沒有唯一解,把拒裝 UAO 當唯一解的才真的是有病。
有些人就是會這樣,該發揮創意的地方偏偏死腦筋,不該發揮創意的地方又拼命故意找麻煩,簡直就是單純在搞叛逆而已。