解决问题
第一步:配置自己想要的locale。普遍推荐的方法是拷贝所有ubuntu支持的locale到自己的配置文件里,然后编辑。
cp /usr/share/i18n/SUPPORTED /var/lib/locales/supported.d/local
vi /var/lib/locales/supported.d/local
用dd命令删啊删,只留下en_系列和zh_系列, 或者其他你要的locale
里面内容太多了,也可以直接编辑 /var/lib/locales/supported.d/local,有下面这些内容,也基本够了:
里面内容太多了,也可以直接编辑 /var/lib/locales/supported.d/local,有下面这些内容,也基本够了:
zh_CN.GBK GBK
zh_CN.UTF-8 UTF-8
zh_CN.GBK GBK
zh_CN.GB2312 GB2312
zh_HK.BIG5 BIG5
zh_TW.BIG5 BIG5
en_US.UTF-8 UTF-8
zh_CN.UTF-8 UTF-8
zh_CN.GBK GBK
zh_CN.GB2312 GB2312
zh_HK.BIG5 BIG5
zh_TW.BIG5 BIG5
en_US.UTF-8 UTF-8
当然locale也可以分为en和zh两个文件,如果不分别设置,且存在的话就删掉他们
rm /var/lib/locales/supported.d/en
rm /var/lib/locales/supported.d/zh
rm /var/lib/locales/supported.d/zh
这两个文件跟locale一样功能,也可以把en系列写在en文件里,zh系列写在zh文件里,分类方便而已。既然都写在local里,这两个就用不着了。
第二步:重新生成locale支持文件
这一步会将/usr/lib/locale/里面的locale支持文件删掉,重新生成。如果设置的locale没有生成过,或者设置的时候拼写错误,在这个目录找不到同名的支持文件就会提示No such file了。
第三步:配置locale环境。
敲locale把输出的那些环境变量拷贝到/etc/environment里面,自己手工修改。可以设的值就是/var/lib/locales/supported.d/local里面包括的值,或者生成在/usr/lib/locale/里面的文件夹名称。
第二步:重新生成locale支持文件
locale-gen --purge
这一步会将/usr/lib/locale/里面的locale支持文件删掉,重新生成。如果设置的locale没有生成过,或者设置的时候拼写错误,在这个目录找不到同名的支持文件就会提示No such file了。
第三步:配置locale环境。
敲locale把输出的那些环境变量拷贝到/etc/environment里面,自己手工修改。可以设的值就是/var/lib/locales/supported.d/local里面包括的值,或者生成在/usr/lib/locale/里面的文件夹名称。
LANG=zh_CN.UTF-8
LANGUAGE="zh_CN:zh:en_US:en"
GST_ID3_TAG_RNCODING=UTF-8
LC_CTYLE=zh_CN.UTF-8
LC_ALL="zh_CN.UTF-8"
LANGUAGE="zh_CN:zh:en_US:en"
GST_ID3_TAG_RNCODING=UTF-8
LC_CTYLE=zh_CN.UTF-8
LC_ALL="zh_CN.UTF-8"
第四步:退出重新登录,
或者
source /etc/environment
再敲locale看看,没错误了。
VIM配置
#vim /etc/vim/vimrc
在最后加入
let &termencoding=&encoding
set fileencodings=utf-8,gb18030,gbk,gb2312,big5
set fileencodings=utf-8,gb18030,gbk,gb2312,big5
打开一个带中文的文本看看,此时应该能开到漂亮的中文了
----------------------------------------
上面的方法会看到界面也变成中文了,可能有些人不习惯,以下方法可以内容为中文,但界面保持英文。
1、
#vi /var/lib/locales/supported.d/local
编辑内容为:
en_US.UTF-8 UTF-8
en_US ISO-8859-1
en_US ISO-8859-1
2、
#locale-gen --purge
生成相应的语言文件
3、
(此步有时可免)
#vim /etc/environment
加入
LANG=en_US.UTF-8
LANGUAGE="en_US:en"
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=
LANGUAGE="en_US:en"
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=
4、
(此步有时可免)
#vim /etc/vim/vimrc
加入
let &termencoding=&encoding
set fileencodings=utf-8,gb18030,gbk,gb2312,big5
set fileencodings=utf-8,gb18030,gbk,gb2312,big5
----------------------------------------------------------
参考:
要熟悉几个相关命令,
一般系统都自动安装了:
locale 查看现在的locale配置环境
localepurge 配置需要的locale(如果没有这个命令,用apt-get install localepurge安装)
locale-gen 生成需要的locale文件,
参数 --purge用来删除所有旧的配置,在出现问题时很有用
其实在man locale-gen和man locale里面都讲到了,如果找不到就man一下
所有支持的语言都在这里了
/usr/share/i18n/SUPPORTED
/var/lib/locales/supported.d/*
和SUPPORTED类似的内容,但是只有你需要的几种语言
/usr/share/i18n/SUPPORTED
/var/lib/locales/supported.d/*
和SUPPORTED类似的内容,但是只有你需要的几种语言
/usr/lib/locale//LC_*
编译后的语言包,这些就是用locale-gen编译出的locale文件了
/etc/environment 编辑这个文件可以手动配置locale环境变量,LC_CTYPE之类的,具体有哪些可配置的变量,都是什么含义,用man locale就能看到了
注意secureCRT的编码也要设为utf-8,而且字体要设为中文字体,如新宋体,否则也是显示乱码
转载于:https://blog.51cto.com/gavins/828186