在使用iconv转换文件的字符编码时,如果遇到类似“iconv: illegal input sequence at position”的错误,原因是需要转换的字符编码没有涵盖文件中的字符,比如,将一个简体中文的GB2312的文件转换为BIG5的编码,而在繁体编码的BIG5里面,不包含很多的简体中文字符,所以在转换的时候就会遇到如上的错误。
顺便提供一个用于查看文件编码的工具“enca”,我在everest 0.5下做的RPM包。用法很简单,
# enca filename
使用如下命令:
iconv -f cp936 -t utf-8 -c file1 > file2