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
也可以正常执行
Linux下批量把GDK编码的文章转化为UTF-8编码的文章以及“iconv: 未知 xxx 处的非法输入序列”错误处理