工作中使用git
进行代码管理,由于跨操作系统的原因,经常遇到文本编码乱码的问题。这是因为Windows默认GBK编码格式,Linux默认UTF-8编码格式,使用以下命令可以进行批量编码转换。
iconv
$ iconv --help
用法: iconv [选项...] [文件...]
转换给定文件的编码。
输入/输出格式规范:
-f, --from-code=名称 原始文本编码
-t, --to-code=名称 输出编码
信息:
-l, --list 列举所有已知的字符集
输出控制:
-c 从输出中忽略无效的字符
-o, --output=文件 输出文件
-s, --silent 关闭警告
--verbose 打印进度信息
-?, --help 给出此帮助列表
--usage 给出简要的用法信息
-V, --version 打印程序版本号
长选项的强制或可选参数对对应的短选项也是强制或可选的。
enca
iconv
需要确认原始编码格式,使用enca
可以探测文件格式
enca -L zh_CN file #检查文件格式
enca -L zn_CN -x UTF-8 file #转换为UTF-8编码
$ enca -L zh_CN search/*
enca: Cannot read file `search/demos': Is a directory
search/rch.c: Simplified Chinese National Standard; GB2312
search/ch.c: Universal transformation format 8 bits; UTF-8
recode
Charset converter tool and library http://recode.progiciels-bpi.ca