編碼轉換(不轉換繁、簡文)
* 先測試看看:從 big5 編碼轉成 utf8
繁、簡體轉換
將 gb2312 編碼的簡體轉為 big5 編碼的繁體
* 複雜的情況:
文件內容為 utf8 編碼之簡體,要轉換成 utf8 繁體,則需要中介編碼,如下
下面則是轉換都是 utf8 的方式繁、簡檔名
* 先轉換目錄名稱
- 改變將路徑下的目錄與檔案名稱的編碼方式
* 先測試看看:從 big5 編碼轉成 utf8
convmv -f big5 -t utf8 -r --nosmart folder_name* 強制轉換
convmv -f big5 -t utf8 -r --nosmart --notest folder_name
繁、簡體轉換
- 轉換檔案內容:利用 iconv 進行繁、簡互轉
將 gb2312 編碼的簡體轉為 big5 編碼的繁體
iconv sc-gb2312.txt -f gb2312 -t big5 -o output.txt若需要再把編碼轉為 utf8 則再換一次
iconv sc-gb2312.txt -f gb2312 -t big5 | iconv -f big5 -t utf8 -o output.txtbig5 繁體中文要轉成 utf8 編碼的繁體中文
cat tc-big5.txt | iconv -f big5 -t utf8 > output.txt但比較麻煩的不知道編碼的格式為何。如此,可以用 autob5, autogb (需要安裝 zh-autoconvert ) 來協助,需要再轉換 utf8 編碼再 pipe 給 iconv 做,如下:
cat sc-unknow.txt | autob5 | iconv -f big5 -t utf8 > output.txt反之亦然,如:
cat tc-big5.txt | autogb | iconv -f gbk -t utf8 > output.txt
* 複雜的情況:
文件內容為 utf8 編碼之簡體,要轉換成 utf8 繁體,則需要中介編碼,如下
cat sc-utf8.txt | iconv -f utf8 -t gb2312 | iconv -f gb2312 -t big5 | iconv -f big5 -t utf8 output.txt
下面則是轉換都是 utf8 的方式繁、簡檔名
- utf8簡體檔名轉成utf8繁體檔名
* 先轉換目錄名稱
for i in $(find . -type d) ; do mv $i $(echo $i | autob5 --input utf8 | iconv -f big5 -t utf8) ; done* 再轉換檔案名稱
for i in $(find . -type f) ; do mv $i $(echo $i | autob5 --input utf8 | iconv -f big5 -t utf8) ; done