Ubuntu 默认采用UTF8编码,但访问部分Win文本文件时,出现乱码。
1. 配置系统环境
执行 sudo vi /var/lib/locales/supported.d/zh-hans
加入以下配置参数
zh_CN.GB18030 GB18030 (最新汉字编码字符集,向下兼容GBK,GB2312)
zh_CN.GBK GBK (汉字扩展编码,向下兼容GB2312, 并包含BIG5全部汉字)
zh_HK.BIG5 BIG5 (繁体)
zh_TW.BIG5 BIG5 (繁体)
然后执行 sudo locale-gen
提示以下信息,成功了
zh_CN.GB18030... done
zh_CN.GBK... done
2.vim工具支持gbk编码
系统环境支持GB*内码了,但用vi等工具访问文件还会继续乱码,需要针对不同的工具分别配置,使之自己检测支持范围内的编码
e.g. vi
执行 sudo vi /etc/vim/vimrc
加入以下配置参数
let &termencoding=&encoding
set fileencodings=utf-8,gb18030,gbk,big5
3. 转换文件的编码
可以使用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