linux-利用iconv批量转换GBK文件到UTF-8编码方法

时间:2021-11-26 14:06:55
查看文件编码
file -i filename

递归转换(包括子文件夹)
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目录下。

注意:如果原来就是utf-8编码,使用iconv -f GBK -t UTF-8命令转换后,会出现乱码,或截断等各种问题;
一定要保证原文件是不是utf-8编码;


使用如下命令把文件编码先查出来:
find default -type f -exec file -i {} \; > /tmp/a
查询是否存在已经是utf-8编码的文件:
grep "charset=utf-8" /tmp/a



iconv有如下选项可用:

输入/输出格式规范:
-f, --from-code=名称 原始文本编码
-t, --to-code=名称 输出编码

信息:
-l, --list 列举所有已知的字符集

输出控制:
-c 从输出中忽略无效的字符
-o, --output=FILE 输出文件
-s, --silent 关闭警告

--verbose 打印进度信息

文章转载地址:http://www.51testing.com/html/00/130600-868004.html