1. 程式人生 > >使用iconv對檔案批量轉碼

使用iconv對檔案批量轉碼

本文映象地址
Windows下中文使用的編碼一般預設為GB18030,git無法識別裡面的中文,在Linux和Mac上開啟會出現亂碼問題

iconv可以對單個檔案進行轉碼,使用方式如下:
顯示支援的編碼

iconv -l

將GB18030碼轉為UTF-8碼,並重定向到new.file中.

iconv -f GB18030 -t UTF-8 old.file > new.file

-f 原編碼
-t 目標編碼

結合file -exec 可以實現批量轉碼(會覆蓋原有檔案,請謹慎操作)
find $PWD -type f -exec sh -c “iconv -f GBK -t UTF-8 {} > ~/temp” ; -exec mv ~/temp {} ;

有一個讓人比較疑惑的一點是我本來是沒有使用sh輔助,直接執行iconv命令的話, 結果就出錯了,原因不太清楚,先記錄在這裡。錯誤截圖
test目錄下只有三個檔案,都是GBK編碼的,為什麼就會提示不行呢。