locale分类:
语言符号及其分类(LC_CTYPE),数字 (LC_NUMERIC),比较和排序习惯(LC_COLLATE),时间显示格式(LC_TIME),货币单位(LC_MONETARY),信息主要是提示信息,错误信息, 状态信息, 标题, 标签, 按钮和菜单等(LC_MESSAGES),姓名书写方式(LC_NAME),地址书写方式(LC_ADDRESS),电话号码书写方式 (LC_TELEPHONE),度量衡表达方式(LC_MEASUREMENT),默认纸张尺寸大小(LC_PAPER)和locale对自身包含信息的概述(LC_IDENTIFICATION)。
eg:
$ locale
LANG=en_US.UTF-8
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_MONETARY
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=
locale定义文件放在/usr/share/i18n/locales
字符集就是字符,尤其是非英语字符在系统内的编码方式,也就是通常所说的内码,所有的字符集都放在 /usr/share/i18n/charmaps,所有的字符集也都是用Unicode编号索引的。Unicode用统一的编号来索引目前已知的全部的符号。而字符集则是这些符号的编码方式,或者说是在网络传输,计算机内部通信的时候,对于不同字符的表达方式,Unicode是一个静态的概念,字符集是一个动态的概念,是每一个字符传递或传输的具体形式.
Locale 是软件在运行时的语言环境, 它包括语言(Language), 地域 (Territory) 和字符集(Codeset)。一个locale的书写格式为: 语言[_地域[.字符集]].
生成的locale放在/usr/lib/locale/目录中
自定义locale
优先级的关系:
LC_ALL>LC_*>LANG
LC_ALL的值将覆盖所有其他的locale设定
查看zh_CN使用的编码:
/usr/lib/locale/zh_CN/LC_* 说明了使用何种编码
1、查看现有语言环境:
locale
2、可用语言环境:
locale -a
3、临时修改语言环境:
Linux:
export LC_ALL=en_US.UTF-8
export LC_ALL=zh_CN.UTF-8
或者
export LANG=en_US.UTF-8
export LANG=zh_CN.UTF-8
4、永久修改系统级字符集:
修改/etc/sysconfig/i18n,如果没有则新建一个
英文版系统:
LANG="en_US.UTF-8"
SYSFONT="latarcyrheb-sun16"
中文版系统:
LANG="zh_CN.UTF-8"
SYSFONT="latarcyrheb-sun16"
执行source /etc/sysconfig/i18n使修改生效