首页/系统/Linux 运维命令速查/iconv 字符编码转换
文本处理77 条

iconv 字符编码转换

Linux 上转码的标准工具:-f 源编码、-t 目标编码,GBK/GB18030 老系统文件转 UTF-8 的第一选择;-l 可列出全部支持的编码。

Linux 运维命令速查系统更新于 2026-10-12
用途文件字符编码转换
语法iconv -f 源编码 -t 目标编码 [-o 输出] 文件
所属glibc / GNU libiconv

常用示例

常用示例
file -i legacy.txt                       # 先探测编码
iconv -f GB18030 -t UTF-8 legacy.txt -o legacy.utf8.txt
iconv -f GBK -t UTF-8 -c data.csv > data.utf8.csv   # -c 跳过非法字节
iconv -l | grep -i -E 'gbk|utf-8'        # 查支持的编码名
输出和目标文件同名时绝不能 iconv ... file > file:重定向先截断,会把源清空;用 -o 或临时文件。

易错点

  • 编码名各平台大小写/别名不一致(GBK 与 GB2312、UTF8 与 UTF-8),报「invalid encoding」先 iconv -l 查准确名
  • -c 会静默丢字符;数据敏感场景先转出到新文件,比对行数后再替换

数据来源与参考

  • man 1 iconv(GNU C Library 手册)

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌