守正出奇 2011-07-20
Ubuntu 默认采用UTF8编码,但访问部分Win文本文件时,出现乱码。
执行 sudo vi /var/lib/locales/supported.d/zh-hans
加入以下配置参数
zh_CN.GB18030GB18030(最新汉字编码字符集,向下兼容GBK,GB2312)
zh_CN.GBKGBK(汉字扩展编码,向下兼容GB2312,并包含BIG5全部汉字)
zh_HK.BIG5BIG5(繁体)
zh_TW.BIG5BIG5(繁体)
然后执行sudolocale-gen
提示以下信息,成功了
zh_CN.GB18030...done
zh_CN.GBK... done系统环境支持GB*内码了,但用vi等工具访问文件还会继续乱码,需要针对不同的工具分别配置,使之自己检测支持范围内的编码
e.g.vi
执行sudovi/etc/vim/vimrc
加入以下配置参数
let&termencoding=&encoding
set fileencodings=utf-8,gb18030,gbk,big5可以使用iconv命令
iconv -f gb2312 -t utf-8 file
也可以生成一个新文件,
iconv -f gb2312 -t utf-8 file > filenew
另外还可以使用 enca进行编码转换,如:
enca -L zh_CN -x UTF-8 file
1. 首先,我得知道这个文件具体采用的是什么样的编码,如果是ISO-8859我将会把它转成UTF-8,其他的ASCII这些都先不做处理,这里可以使用file filename或者是enca iconv