1)语言包
linux必须先有语言包,才能在locale中设置。如果没有,需要独立安装。
2)中文显示乱码
文件编码格式与linux设置的不一致时,文件不能正确翻译成字符导致。
3)locale包含的内容
linux通过locale相关参数设置操作系统使用的语言。文件的读写默认使用locale的设置。
locale包含3个信息:语言_地域_字符集,可细分为12类,包括语言、货币符号、电话号码格式、地址书写习惯等。
linux可以保存任意国家、字符编码的文件,但可能无法正常显示。如中文的乱码现象。因为计算机文件底层都是二进制编码。
4)locale的3个参数
LC_ALL:最高效力的参数,一次设置所有locale参数值。
LC_*:分项单独设置;如LC_TIME时间格式。
LANG:locale的默认值,当参数没有设置时才使用。
LANGUAGE:设置应用程序的界面语言。
5)设置方法
会话级:设置环境变量:LANG=“zh_CN.utf8”
用户级:
- 法1:给用户配置文件: cp /etc/sysconfig/i18n $HOME/.i18n修改 $HOME/.i18n
- 法2:修改/root/.bash_profile文件,增加export LANG=zh_CN.GB18030
系统级:修改文件 /etc/sysconfig/i18n
扩展1:vim工具设置编码方式
vim工具默认使用操作系统locale设定的编码方式,但也可以单独设定。(相对而言,win下编辑工具更人性化点,会自动适应)
vim的设置一般放在/etc/vimrc文件中,不过,建议不要修改它。可以修改~/.vimrc文件(默认不存在,可以自己新建一个),写入所希望的设置。
我的.vimrc文件如下:
:set encoding=utf-8
:set fileencodings=ucs-bom,utf-8,cp936 ##文件解码顺序,挨个试,成功为止。
:set fileencoding=gb2312
:set termencoding=utf-8
参考:vim工具编码方式设置
实验
1)linux可以正常存放不同编码方式的文件
&:在win客户端创建2个文本文件,分别使用utf和gb2312编码。上传到linux,再下载到本地,正常打开。
注:不同文件编码格式不同,win下编辑工具如notepad可以自动使用正确编码解析。
linux下工具,如cat、vim默认使用locale的设置,不一致时,会乱码。也可以通过参数文件设置。
2)linux实验locale设置的编码读取文件
&:vim默认使用locale的设置。当locale=zh_CN.utf8时,utf8的文件可以正常显示;gb2312的不能。
反之,因为putty工具默认用utf8显示linux的回传信息,顾gb2312时与预期不一致。