Locale是软件在运行时的语言环境, 它包括语言(Language), 地域 (Territory) 和字符集(Codeset)。一个locale的书写格式为: 语言[_地域[.字符集]]。完全的locale表达方式是 [语言[_地域][.字符集] [@修正值]。zh_CN.GB2312=中文_中华人民共和国+国标2312字符集。
当我们在终端输入 locale命令时,会出现如下信息:
LANG=zh_CN.UTF-8LANGUAGE=zh_CN:en
LC_CTYPE="zh_CN.UTF-8"LC_NUMERIC=en_US.UTF-8LC_TIME=en_US.UTF-8LC_COLLATE="zh_CN.UTF-8"LC_MONETARY=en_US.UTF-8LC_MESSAGES="zh_CN.UTF-8"LC_PAPER=en_US.UTF-8LC_NAME=en_US.UTF-8LC_ADDRESS=en_US.UTF-8LC_TELEPHONE=en_US.UTF-8LC_MEASUREMENT=en_US.UTF-8LC_IDENTIFICATION=en_US.UTF-8LC_ALL=
下面说说它们的含义:
locale把按照所涉及到的文化传统的各个方面分成12个大类,这12个大类分别是:
1、语言符号及其分类(LC_CTYPE)
2、数字(LC_NUMERIC)
3、比较和排序习惯(LC_COLLATE)
4、时间显示格式(LC_TIME)
5、货币单位(LC_MONETARY)
6、信息主要是提示信息,错误信息,状态信息,标题,标签,按钮和菜单等(LC_MESSAGES)
7、姓名书写方式(LC_NAME)
8、地址书写方式(LC_ADDRESS)
9、电话号码书写方式(LC_TELEPHONE)
10、度量衡表达方式 (LC_MEASUREMENT)
11、默认纸张尺寸大小(LC_PAPER)
12、对locale自身包含信息的概述(LC_IDENTIFICATION)。
优先级问题:
LANG是优先级很低的一个变量,它指定所有与locale有关的变量的默认值
LANGUAGE是设置应用程序的界面语言。
LC_ALL :它可以管所有的locale;
LC_ALL和LANG优先级的关系:LC_ALL > LC_* >LANG
另外说一个问题:当用ssh登录时,中文字符显示不出;改了好几个环境变量,最后还是把 LC_ALL 改为zh_CN.UTF8 有效果啊;
export LC_ALL=zh_CN.UTF8