守正出奇 2010-03-22
enca:
enca -L zh_CN test.sql 先安装enca,用其查看文件当前字符集
enca-Lzh_CNtest.sql检查文件编码
enca-Lzh_CN-xUTF-8test.sql将文件编码转换为UTF-8编码
enca -L zh_CN -x UTF-8 <test.sql> test2.sql 另转为test2.sql--------------------------------------------------------------------------
iconv:
option:
-l列举系统所有已知的字符集
-f原始文本编码
-t名称输出编码
-c从输出中忽略无效的字符
-o输出文件
-s关闭警告
--verbose 打印进度信息例:转换tmp路径下编码为utf-8的test.sql 为 gb2312的vtest.sqliconv -t utf-8 -f gb2312 /tmp/test.sql > /tmp/vtest.sql
在应用上enca比iconv更傻瓜,在中文支持上enca比iconv支持得好,iconv当遇到不支持的中文时会跳过或者报错cannot iconving。所以推荐用enca。
1. 首先,我得知道这个文件具体采用的是什么样的编码,如果是ISO-8859我将会把它转成UTF-8,其他的ASCII这些都先不做处理,这里可以使用file filename或者是enca iconv