2011年4月25日

[整理]各式各樣的文字亂碼、問號解決方案

現在電腦世界因為資訊傳遞便利,接觸到其它國家的資訊愈來愈方便,各國電腦的發展在最早的時候沒考量到這點,造成亂碼的主因,通常是文字編碼不正確所造成的。

以語言來比喻,一個沒學過韓文的台灣人,他只會中文,他沒辦法用中文去理解韓文,所以看到韓文只會覺得看到一堆符號(亂碼)。

電腦也是一樣的,在發展的過程各國有各國自己發展的文字編碼。例如,台灣使用的是BIG5碼;大陸使用GB碼;日本使用JIS...等

一次只能使用一種來解碼,不能共存,所以後來才推出Unicode碼,解決多國語言共存的問題

本文主要探討的是編碼錯誤造成亂碼的解決方案,big5缺字和Unicode補完計畫的問題...等我想清楚了再來寫吧(逃) 

網頁亂碼(含FLASH)

亂碼解決方案2011-04-25_153928

 

 

亂碼解決方案2011-04-25_154013網頁亂碼通常是自動選擇編碼錯誤,IE的話按右鍵就能選擇編碼,Fx及Chrome則需開選單調整,但近年新的論壇和走國際化的網站都漸漸Unicode化了,所以這類問題應該只會愈來愈少

會出現錯誤的網頁通常選了下面的選項應該就能正確顯示了
台灣的網頁常用的編碼為BIG5、UTF-8
香港的網頁常用HK-SCS、UTF-8
大陸的網頁常用GBK、UTF-8
日本的網頁常用JIS、UTF-8

如果怎麼轉換都沒有用的話,那你可能要猜測網頁是不是壞掉或是被駭了

網頁上Flash亂碼...

有時網頁編碼對了,但Flash依然是亂碼...Flash sucks!

亂碼解決方案

這時必需先把瀏覽器全部關掉,再使用piaip修改版的微軟Applocale或是NTLEA(全域通),將瀏覽器以成正確的編碼環境開啟才能解決

→piaip版Applocale下載、→教學連結
→NTLEA下載點、→教學連結@月光下的嘆息!

檔名亂碼

檔名亂碼比較常出現在解壓縮日文、簡中檔案,或是不支援unicode的續傳軟體抓中文檔名下來後,推薦使用ConvertZ轉換,選到預覽結果正確後,就能按轉換了!

→ConvertZ下載點←

亂碼解決方案2011-04-25_155836

怎麼轉都轉不回來的話...很有可能是某次有人轉換錯誤還給它按下確定...這種轉壞的我也不知道該怎麼救...

續傳軟體下載檔案亂碼

常見的續傳軟體FlashGet、Orbit、FreeDownloadManager至今仍不支援Unicode,遇到中文、日文檔名就會變成亂碼,甚至不能下載,而且使用Applocale似乎也無解...

亂碼解決方案2011-04-25_161119

改用瀏覽器內建的下載界面通常都不會有問題,其中Fx推薦使用DownThemAll來取代續傳軟體的作用

音樂標籤亂碼

亂碼解決方案2011-04-25_162219

使用ConvertZ轉換,但跟檔名一樣,有些轉錯的有可能會無法再轉回來,個人是建議直接連上freedb整套抓新的下來,應該會比較省事

網路上教學也很多,我就不再重覆寫了,個人最推薦下面這篇教學

教學連結@DearHoney

FTP亂碼

這問題比較麻煩...伺服器端和FTP下載軟體都必需支援Unicode才行,如果已經下載下來的亂碼檔案,參考上面的檔名亂碼來解吧

架FTP站推薦使用FileZillaServer教學連結@就是教不落
下載FTP推薦使用FileZillClient教學連結@海芋小站

註:伺服器不推薦ServU、zFTPServer、PCMan's FTP Server等等..因為它們都不支援Unicode

燒錄亂碼

這類問題最近應該很少了...除非你還在用舊版的Nero或是Alcohol(新版Nero支援Unicode了,而Alcohol至今都還支援不完全...)

一般推薦使用ImgBurn來取代Nero燒錄檔案

→下載ImgBurn教學連結@海芋小站

壓縮檔亂碼

2011-04-25_181157

一般來講,使用Applocale或NTLEA先將解壓縮程式切換成正確的編碼環境應該就能解決

注意:如果你是在有安裝UAO(Unicode補完計畫)的電腦,將含日文或簡中檔名的檔案壓縮成ZIP檔,那麼這個ZIP裡的檔案只能在有安裝UAO的電腦裡正確顯示!!

因為ZIP檔沒有強制使用Unicode當成壓縮檔名的編碼,壓縮時,當它判斷你的電腦可以正常顯示文字時,它就不會使用Unicode儲存。而7z及RAR檔很早就強制使用Unicode儲存檔名了,所以比較不會有亂碼問題。

遊戲亂碼

大多數情況使用Applocale或NTLEA就能解決,有少部份情況必需去控制台調整預設語系(Windows 2000以後適用)

亂碼解決方案2011-04-25_172059

影片字幕亂碼

雖然播放時可以調整,在字幕字型相關的選項可以選,不過因為不同軟體的調整位置都不太一樣...要一一列出還滿困難的,個人建議是使用ConvertZ全部轉換成Unicode,這樣就幾乎不會有問題

此外,簡體轉成繁體的話,要注意一些有指定簡體字型的字幕檔是否會受到影響

文字檔亂碼

亂碼解決方案2011-04-25_163936

文字檔其實跟字幕檔一樣都是文字檔,可以使用ConvertZ轉換

只是個人常用的做法是使用EmEditor(6版還是免費的),開啟後雙擊右下角的編碼,選擇Detect All讓它自動偵測,之後再另外新檔為UTF-8,這樣下次開啟就不會再變成亂碼了

→下載EmEditor Free←

亂碼解決方案2011-04-25_164240

雜談...

除了亂碼,由於BIG5缺字問題相當嚴重,使用支援Unicode的軟體才能免除很多檔案打不開的問題,比如說知名的秀圖軟體XnView不支援Unicode,在正常是無法開啟日文或簡中檔名的圖片,因為使用BIG5顯示不出日文和簡體中文...所以在台灣版的Windows下,XnView無法處理日文及簡體中文檔名

至今仍然有許多網站仍然使用BIG5編碼。例如,博客來、YAHOO拍賣、露天拍賣網站至今都還不支援Unicode,遇到日文、簡體中文就變成框框...我認為這不該是個走國際化網站該有的思維(連美國ebay都支援unicode...)

亂碼解決方案2011-04-25_170725

很多軟體、網頁都還沒支援Unicode的原因

  • 程式要整個重寫,非常麻煩,而且轉換的過程萬一出問題會很難搞
  • 對西方人而言,他們週遭用不到亞洲文字而較不重視這個問題
  • 對中國人而言,他們用的GB碼、香港HK碼已有包含繁、簡、日文假名及漢字,比較缺字問題比較小,所以他們也較不重視
  • 對日本人而言,他們用自已國人寫的軟體較多,自然也較不重視
  • 對台灣人而言,很多程式人員不重視或不知道這是問題,讓亂碼問題層出不窮...囧

要減少這類亂碼問題,只能靠大家多多努力,多多使用Unicode編碼,尤其是撰寫程式和寫網頁的人,希望能注意到Unicode在國際化的重要性啊>_<