Linux下批量把GDK編碼的文章轉化為UTF-8編碼的文章以及“iconv: 未知 xxx 處的非法輸入序列”錯誤處理

期待一片自己的藍天發表於2014-08-20

Linux下批量轉換GBK檔案到UTF-8編碼方法

  檢視檔案編碼

  file -i filename

  1.遞迴轉換(包括子資料夾)

  find default -type d -exec mkdir -p utf/{} \;

  find default -type f -exec iconv -f GBK -t UTF-8 {} -o utf/{} \;

  這兩行命令將default目錄下的檔案由GBK編碼轉換為UTF-8編碼,目錄結構不變,轉碼後的檔案儲存在utf/default目錄下。

  2.轉換

  命令格式如下

  $enca -L 當前語言 -x 目標編碼 檔名

  例如要把當前目錄下的所有檔案都轉成utf-8

  $enca -L zh_CN -x utf-8 *


iconv: 未知 xxx 處的非法輸入序列

linux命令列bash下,使用iconv轉換UTF-8編碼到gb2312的時候遇到問題: iconv: 未知 xx 處的非法輸入序列

在iconv中加入 -c 選項,忽略無效的字元,竟然成功了。

/*--------------------------------我是分割線--------------------------------*/

以上參考http://hi.baidu.com/maleung/blog/item/a75403ed6ea19fd8b21cb1db.html

-----------------------------------------------------------------

這裡還可以像php裡一樣,引數中加入//IGNOR,如下

iconv -f gbk//IGNORE -t utf8//IGNORE hufu.csv> hufu-utf8.csv

也可以正常執行


相關文章