iconv

Linux下转换文本格式的工具。比如将gbk编码的输入文件,转换为utf-8编码。亦或者是将utf8编码中无法识别的字符删除掉(使用-c)参数,真是帮了大忙了。遂记录一下本文的心得。

查看文件编码格式:

file my.csv
file -i my.csv # 或者

命令格式

iconv -f encoding [-t encoding] [inputfile]...

指定输入、输出格式,输出文件,如果不用-o参数,则直接输出内容,可以使用重定向。

示例一

iconv -l
  • -l 输出支持的编码格式。基本上都是都写的格式。

编码格式,大小写都是支持的。比如UTF-8、utf-8、utf8都是一样的效果。

示例二

去除掉utf8中无法识别的编码

iconv -f UTF-8 -t UTF-8 -c tb_scan_error.csv -o tb_scan_error.csv.new

参数说明:

  • -f 输入文件的编码
  • -t 输出文件的编码
  • -o 输出文件名称
  • -c 忽略不能识别的字符

-c 参数非常好用,对于utf-8格式中,出现的一些不能识别的字符,可以使用该命令,删除掉。

其他

vim中查看编码。

:set fileencoding