各位會找來這篇不外乎日文假名的缺字吧! 在往下看之前,先確定一下你是否知道為什麼會缺字,以及至少知道「Unicode補完計畫」和「Unicode」是不同的東西。不太清楚還是先看過這篇吧,不然接下來你可能會霧煞煞:
Unicode補完計畫請小心使用(上)-問題在於...

接著還是老話一句:Unicode補完計畫使用不慎會造成別人看不到你打的日文。本文主要是在說明Unicode補完計畫之外的解決方案,以及如果要用Unicode補完計畫需要注意哪些事情。想了解Unicode補完計畫為什麼會帶來這些問題,也請參考上篇。

(註:本文windows NT(2000/XP/Vista)使用者適用,且說明以未安裝Unicode補完計畫者的立場,安裝有Unicode補完計畫者可能需要找個沒Unicode補完計畫的環境會比較好了解)


 使用Unicode補完計畫之外的解決方案

在看以下解決方案時,要分清楚哪些是轉換成Unicode(不需灌中國海、櫻花輸入法等Big5日文字型,本來就看的到),而哪些仍是Big5日文(因含Big5日文字型才看的到),看得到不等於有轉換,這在日文資訊交流上很重要。

平常在任何時候遇到缺字時,將其貼至這些地方即可顯示:

  - PCMan 2007(或更新的版本)的BBS頁面上(有轉換)

  - MS Office 2003的軟體上(沒轉換)。有看上篇的就知道因為MS Office 97-2003內建中國海字型,所以看得到這些缺字。

  - 一些可以幫你轉碼的網站,像是這個(直接貼到上面那欄即可看到,不過是未轉換的,轉換要選一下)、這個(貼到右邊那欄按箭頭即可轉為Unicode)、還有這個(按「外字集/日文假名」即可轉換成Unicode,「編碼解碼」那個等下會說)

上面這一堆「有轉換」、「未轉換」在說什麼呢? 有轉換是說有把Big5日文轉換成Unicode,而未轉換是說它骨子裡還是Big5日文,只是因為軟體內建了Big5日文字型,所以讓你看得到這些字。所以說,如果把未轉換的字貼到網路上,或上述以外的其他程式上,它們立刻變回原本的缺字(或亂碼)。

假如你手邊沒有Big5日文可以測試,可以利用下面這段文字,內容來自這個網頁,這是說明頁:
日本語(內碼)
!
家庭用椅子奧義、居民隱、。
腰掛、人殺。所持逮捕。
七兵器一番!

現在不妨試試直接把這段文字複製到2003版之前(含)的MS Word裡,就可以看到它們現形(第一行應該會有亂碼)。而再從Word把這段文字複製到記事本中,你可以發現它們會變回缺字了。接著用記事本存檔,不會跳出儲存編碼錯誤的警告訊息,這表示自始至終這段文字都是記事本預設的編碼,也就是Big5。

若要轉成大家都看得到的Unicode,可以利用PCMan,點PCMan工具列的[ANSI編輯]→[開新檔案]可以得到空白頁面,在上面貼入Big5日文即可轉換。如果是不常用PCMan的人,可以考慮上面提供的那些可以幫你轉碼的網頁。利用括弧內的說明轉碼後,貼至記事本則可發現並不會缺字,而按下存檔則會跳出警告訊息,也就是如本文上篇的頁首圖,告訴你文字中有Unicode字元,存檔的類型應該改成Unicode。強制儲存的話在打開會變一堆問號,事後就算用Word 2003開也一樣無法顯示。

big5_convert.png
↑ 這是上面那段Big5集外字,貼到PCMan後,再複製出來後就變成Unicode字元了!

註:MS Office 2007後(含)版本的word似乎已不再支援中國海字型,所以big5日文是看不到的。



以上是遇到Big5日文時的通用解決方案,就暫且稱它為「手動轉換」吧! 這樣等一下說起來比較方便。「手動轉換」是最後的大絕,不過平常用電腦時,在各環境中其實還是有更好的解決方法,下面就分項說明。

 BBS
→改用PCMan 2007PieTTY瀏覽。

有很大一部分的人安裝Unicode補完計畫是為了BBS能看日文。由於大多數BBS環境不支援Unicode,也就是說沒有經過適當的轉換,你既看不到Big5日文(變空格),輸入Unicode又會變???。而這些軟體內建完整Unicode補完計畫的轉換,把Big5日文轉成Unicode給你看,把Unicode轉回Big5日文儲存,也因此你把這些日文複製到網頁上人家是看得到的。因為BBS的環境大多是Big5編碼,所以日文只能用Big5日文了。除非站長有心把整個站改成以Unicode編碼,不然這個狀況將會一直持續下去。

此外,把Big5日文複製到PCMan的BBS頁面,再複製出來,就會轉成Unicode,這個上面有說到。

 HTTP
→安裝Firefox 2.0以上的官方版本、或手動轉換

說到這個最麻煩的地方了:瀏覽網頁。Firefox在2.0以後的版本都內建了Big5-2003的字碼表,而且只有單向對應,不會讓你發Unicode的變成Big5日文,而複製出來的字又會自動轉成Unicode,和PCMan差不多意思。但是由於Mozilla對標準的堅持,官方版本不加入中國海,或完整Unicode補完計畫的對應,所以用了Firefox可能還是會有少部分的集外字看不到,遇到這種事要看也只能手動了(PCMan、MS Office 2003或是前述轉換網頁)。不過記得不要用到人家改過有包進Unicode補完計畫而且又是雙向對應的版本,這樣又會製造出Big5日文,造成其他瀏覽器使用者的麻煩。

另外說明一下,Firefox、補完計畫都是在Big5編碼的網頁,輸入日文才會有轉換(感謝butho大指正),詳細情形:

unicode_big5_on_webpage.png   

一開始提供的那段Big5日文,因為Pixnet的網頁是Unicode編碼,所以放了Big5在上面,Firefox、補完計畫都不會幫你轉。另外,複製Big5日文到Firefox,並不會像PCMan在BBS環境中那樣,一貼上就自動轉換,而是要將文字輸出到Big5編碼的網頁,或是開啟的網頁中有Big5日文才會被轉換(所以Firefox不能當作「手動轉換」的工具)。假如不用Firefox,就只能遇到時再手動轉換囉。


 檔案名稱
→使用檔名修改程式

這個就好解決了!請利用Unicode補完計畫提供的檔名修改程式,這是免安裝的程式,打開後選擇問題檔案的目錄(或是整個磁碟),選擇造字檔→Unicode,讓它跑就ok了。(別選反了阿~)

 文字檔
→用MS Word 2003開吧,要轉換的話還是得手動轉換。另外存檔記得用Unicode存!

原本想用ConvertZ轉不知道為什麼一直失敗,所以假如要轉換的話還是得手動...沒安裝補完計畫的人,在用記事本的時候,假如想用ANSI編碼(big5)存日文會有警告訊息,就像本文上篇最開頭的那張圖一樣。因為Big5不能存日文(存了會變問號),所以要改用Unicode來儲存。順帶一提,MS記事本裡各種Unicode編碼代表的意義:

  Unicode: 即「UTF-16 LE(Little-Endian)」,UTF-16都是用2byte來存一個Unicode字元。
  Unicode-BE: 即「UTF-16 BE(Big-Endian)」,這裡little、big和字元大小沒關係,詳情可以參考這裡。LE、BE實際用起來沒什麼差。
  UTF-8: UTF-8用1byte存英文和符號(ASCII),2byte存希臘文、俄文等歐系文字符號,3byte存其他Unicode字元,例如漢字和日文假名....

所以若資料多是中文、日文,所以建議用UTF-16(Unicode和Unicode-BE)比較省空間;如果英文、數字比較多就用UTF-8吧。

 MP3的id3 Tag
→用ConvertZ轉碼

先簡單說明一下。用了Unicode補完計畫的人,在使用期間如果有擷取日文歌的CD音軌轉成MP3到電腦裡,那你移除補完計畫後就會遇到ID3缺字問題,也就是曲名、歌手、專輯...等資訊會缺字。

假如你了解怎麼用ConvertZ(或其他軟體)轉碼,然後知道怎麼編輯ID3,那請轉成Unicode並刪除ID3v1。完全霧煞煞人請看這篇:整理你的MP3和ID3標籤

 電子郵件/即時通訊(IM)
先叫寄信的人刪掉Unicode補完計畫再說...不是啦...電子郵件可以用同是Mozilla開發的Thunderbird,MSN就只能手動轉換了......就是利用HTTP那段提供的方式轉換。(或是拿這篇文給他看XD)

 其他部分
假如還有很多地方要用到,而且這些東西你又不打算外流,或是說你壓根懶得理這些事(不過哪天你回頭發現整個環境已是Unicode的天下,補完計畫又不再更新時,到時你真的會後悔的...),那可以考慮最古早的方法,安裝櫻花輸入法或是中國海字集。只裝這些字型的話,全部日文字都看得到,但不會製造出新的big5日文字,為什麼不鼓勵裝呢? 因為裝了之後你就難以分辨該字是否為big5日文,進而就不會去修正、轉換這些字了,如此一來可能一不小心就輸出這些字。


 
 假如還是想裝Unicode補完計畫

說了這麼多,只是希望大家不要因為一些看不到的Big5日文而製造更多Big5日文。假如看到這裡,Unicode補完計畫的運作你都瞭解,然後你真的還是有些非用不可的ANSI程式,而且又要看Big5之外的字,那也沒辦法,只好安裝了。反正重點就是: 不要讓Big5日文流出,這可能有幾點要注意一下。

(這裡是寫給有灌/要灌Unicode補完計畫的人看的)

 在網頁輸出文字時
根據上方「HTTP」一節中的表,因為安裝了補完計畫的使用者無法直接分辨該字元是否為集外字,所以在Unicode編碼的網頁中,需特別注意不要誤將Big5日文輸出。而在以Big5為編碼的網頁中,假如你是Firefox 2.0以上的官方版本的使用者,請安心的打字(但注意IE Tab的話還是不行喔!);至於其他瀏覽器的使用者......請見下段

如果你是網頁的編輯者(包括部落格),而你編輯的網頁是以Big5為編碼(建議你及早改成unicode);或者你打算用Firefox以外的瀏覽器,在以Big5為編碼的網頁留言,有幾種方法:

  1. 透過ConvertZ來轉碼(純文字檔轉換中的進階選項,輸出格式選Dec)

  2. 利用Unicode補完計畫提供的HTML文件外字相容轉換器

  3. 手動轉換那段提供的最後一個「這個」或其他轉換器來轉換。

轉換後你會看到一堆&#xxxxx的HTML Entities,這些就是表格中提到的「相容碼」。把它們直接貼到HTML文件中,別人就可以順利看到你輸出的日文。

 在儲存純文字時
有安裝補完計畫者,用Ansi儲存日文並不會有警告訊息,所以在存的時候麻煩注意一下,請存成任一Unicode格式。若是用記事本,XP前的系統請在「存檔類型」改,Vista後的系統在「編碼」那裡改,這樣你的Unicode日文才不會被轉成Big5日文。


我說完了。你決定灌是不灌?

其實解決問題最快的方法,就是叫微軟趕快換一個支援日文漢字、假名的Big5版本→這個無解,而且阻礙Unicode發展....再來就是所有的網頁建置、編輯者避免使用Big5來編碼,並將現有Big5編碼的網頁通通改成Unicode,不過對這個不關心的人大概不會想做這種吃力不討好的事就是了。

我們可以做的就盡量是使用支援Unicode的程式,像是用Hamana取代ACDSEE、用ImgBurn取代NERO,假如你常用日文還是早日換掉它們吧。除此之外,看到Big5集外字就轉換,就算懶得轉也別讓它們流傳,造成其他人困擾。

以上這些問題,補完計畫的製作團隊當然也了解,所以才會有了HTML文件外字相容轉換器,而原作者也說明了,補完計畫的主要對象本來就不是使用XP/Vista以及支援Unicode程式的人,因為許多人不當使用,讓另一群人以為Unicode補完計畫是萬惡的根源,欲除之而後快。其實補完計畫不是什麼不好的東西,假如我真的有非用不可的ANSI程式又要讀寫日文,我應該會愛它愛到死(可惜沒有XD)。

不過真正萬惡的其實是微軟(恩....各種意義上),還有整個電腦使用環境。微軟的Big5死都不收假名,而台灣有很大一部分的網頁是用Big5編碼的,應該說世界上有很大一部分的網頁是用ANSI編碼的,一天不改這些問題就無法根除.....期待全世界都用Unicode的那天。


本站相關文章:
整理你的MP3和ID3標籤


Unicode補完計画官網:
原理介紹
工具
關於對Unicode補完計畫的指教與批評

相關連結:
中國海字集與 Unicode 補完計劃(Unicode-At-Once, UAO)- 無聊人的無聊故事
中國海字集與 Unicode 補完計劃(Unicode-At-Once, UAO)(續)- 無聊人的無聊故事
多國語言測試頁面 - 無聊人的無聊小站
Screen + Unicode 補完計畫 (UAO) at 林光生活兩光過

PCMan - 開放原始碼的全方位 BBS 解決方案
MozTW,Mozilla Taiwan 正體中文
PieTTY FAQ-有關於Firefox的Unicode對應說明

不錯的討論串(都很長~):
[轉貼]為何不要用unicode補完計劃 - 台灣FTP聯盟
日文編碼... - PCDVD
Big5日文和中國海字集-firefox的討論串

(維基百科)
Unicode補完計畫
Unicode
大五碼
中國海字集 

創作者介紹
創作者 showian 的頭像
showian

當人真麻煩!

showian 發表在 痞客邦 留言(31) 人氣()