运行locale指令得到当前系统编码设置的详细资料。
 
一、locale的五脏六腑
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)
 
二、理解locale的设置
设定locale就是设定12大类的locale分类属性,即 12LC_*。除了这12个变量可以设定以外,为了简便起见,还有两个变量:LC_ALLLANG
它们之间有一个优先级的关系:LC_ALL > LC_* > LANG
可以这么说,LC_ALL是最上级设定或者强制设定,而LANG是默认设定值。
 
具体设定locale的方法(zh_CN.UTF-8zh_CN.GBK
redhat linux的设置:
vi /etc/sysconfig/i18n 中增加如下语句
LANG zh_CN.GBK
LC_ALL zh_CN.GBK
LC_CTYPE zh_CN.GBK
然后执行 source /etc/sysconfig/i18n
 
四、local 语言的精简
在某些时候,我们不需要那么多的语言,比如嵌入式或者自己定制微系统时候
运行 localedef –list-archive  可以列出系统中支持的local 列表
运行 localedef –delete-from-archive en_DK.utf8  会删除此locale
最后删除不需要的locale 后,重新生成一下索引文件
/usr/lib/locale/locale-archive
运行 build-locale-archive 就可以重新生成索引文件
如果你使用C locale (or ‘POSIX’) 你可以完全删除其他local和索引文件。