檔案編碼格式不統一一直是令人抓狂的問題,因此可以用一個在Linux的指令套件 iconv 來進行轉檔,但是單純下指令一次只能轉換一個檔案,因此寫了一個小小的shell scripts來進行批次轉檔。
iconv是一個電腦程式以及一套應用程式編程介面的名稱。它的作用是在多種國際編碼格式之間進行文字內碼的轉換。
支援的內碼包括:
- Unicode相關編碼,如UTF-8、UTF-16…
- 各國採用的ANSI編碼,其中包括GB2312、BIG5等中文編碼方式
Install(debian, ubuntu)
Example
BIG-5 csv轉UTF-8 csv
1
| iconv -f BIG-5 -t UTF-8 big5.csv > utf8.csv
|
UTF-8 csv轉BIG-5 csv
1
| iconv -f UTF-8 -t BIG-5 utf8.csv > big5.csv
|
批次轉換目錄下的BIG-5 csv轉UTF-8 csv
1 2 3
| for file in *.csv; do iconv -f big-5 -t utf-8 "$file" -o "${file%.csv}.utf8.csv" done
|
參考資料