一開使用這些工具是因為在 linux 下的 smplayer 在載入影片字幕的時候,
雖然設定成解 big5 編碼,可是還是會有部份的字變成亂碼,
把字幕檔轉成 UTF-8 就沒有這個問題了,另外偶爾也會遇到 code 裡面有中文註解,
用 gedit 開會有解碼錯誤的問題,或是一些原本 windows 底下的檔案。
iconv
沒記錯的話 ubuntu 12.04 預設是有安裝,
最早用的工具,因為參數蠻好記的範例如下:
iconv -f big5 -t utf8 -o output.txt input.txt
-f form-code
-t to-code
-o 輸出檔名
enca
用了一段時間後突然想到,是不是應該在轉換前先檢查一下檔案原本的編碼是什麼,
因為偶爾也會遇到簡體的編碼,
一開始想到的是用 file ,的確 file 可以用來檢查編碼,
不過後來發現了一個缺點,big5 編碼的檔案會被誤認成 ISO-8859,
所以就查到了這個,Ubuntu 12.04 預設沒有安裝 apt-get install enca 一下就可以了。:
enca input.txt
就可以檢查檔案編碼了,在 manpage 裡面可以查到他支援的編碼,測了幾個檔案 big5 可以正常偵測
另外更強大的是這個 enconv 他可以用來直接把檔案轉成系統的編碼:
enconv input.txt
假設系統編碼是 utf-8 而 input.txt 是 big5 編碼,那 input.txt 就會被轉成 utf-8,
非常的方便,完全不需要什麼參數 :)
當然,這兩個工具都有其他更多的參數可以使用,有興趣的可以問一下男人,
另外還有看到其他的工具像是 convmv 參數跟 iconv 類似,不過就沒有裝來玩了。
沒有留言:
張貼留言