首页 > 代码库 > Linux下批量把GDK编码的文章转化为UTF-8编码的文章以及“iconv: 未知 xxx 处的非法输入序列”错误处理

Linux下批量把GDK编码的文章转化为UTF-8编码的文章以及“iconv: 未知 xxx 处的非法输入序列”错误处理

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

也可以正常执行