ITPub博客

首页 > 数据库 > 数据库开发技术 > 【LC】locale设置查询及相关环境变量含义及示例

【LC】locale设置查询及相关环境变量含义及示例

原创 数据库开发技术 作者:fjzcau 时间:2012-04-30 17:49:39 0 删除 编辑
1.查看当前本机的Locale设置情况
ora10g@testdb /home/oracle$ locale
LANG=zh_CN.GB18030
LC_CTYPE="zh_CN.GB18030"
LC_NUMERIC="zh_CN.GB18030"
LC_TIME="zh_CN.GB18030"[@more@]LC_COLLATE="zh_CN.GB18030"
LC_MONETARY="zh_CN.GB18030"
LC_MESSAGES="zh_CN.GB18030"
LC_PAPER="zh_CN.GB18030"
LC_NAME="zh_CN.GB18030"
LC_ADDRESS="zh_CN.GB18030"
LC_TELEPHONE="zh_CN.GB18030"
LC_MEASUREMENT="zh_CN.GB18030"
LC_IDENTIFICATION="zh_CN.GB18030"
LC_ALL=

2.解释一下上面出现的比较常用的Locale环境变量含义
LANG 未设置任何LC_XXX变量时所使用的默认值
LC_ALL 用来覆盖掉所有其他LC_XXX变量的值,一经设置其他的都无效!
LC_COLLATE 使用所指定地区的排序规则
LC_CTYPE 使用所指定地区的字符集(字母、数字、标点符号等)
LC_MESSAGES 使用所指定地区的响应与信息;仅POSIX适用
LC_MONETARY 使用所指定地区的货币格式
LC_NUMERIC 使用所指定地区的数字格式
LC_TIME 使用所指定地区的日期与时间格式

上面这些变量设置效果优先级是:LC_ALL > LC_* > LANG

3.我的Linux操作系统上有这么一个神奇文件夹,叫做i18n(它是国际化单词internationalization的缩写,去掉第一个字母i和最后一个字母n中间正好有18个字母,发散思维一下,L10n就是localization本地化的缩写啦)
$ ls -l /usr/share | grep i*n
drwxr-xr-x 4 root root 4096 06-23 10:35 i18n

这个目录中有多达243个locale定义文件(244减去一个文件提示头信息)
ora10g@testdb /usr/share/i18n/locales$ ls -l | wc -l
244
4.下面命令列出系统认得出来的locale名称
ora10g@testdb /home/oracle$ locale -a
aa_DJ
aa_DJ.iso88591
aa_DJ.utf8
aa_ER
……这里省略N多行内容……
zu_ZA
zu_ZA.iso88591
zu_ZA.utf8

5.知道了这些知识以后,看一个具体的设置场景(这个场景曾经困扰过我很长时间)
要求:
1)可以输入中文
2)同时保持菜单、标题,系统信息等内容仍然是英文界面
实现:
LANG=en_US.UTF-8
LC_CTYPE="zh_CN.GB18030"

这两个参数可以在root用户下添加到/etc/sysconfig/i18n参数文件中,以达到永久生效的目的。
重启后的效果:
ora10g@testdb /home/oracle$ locale
LANG=en_US.UTF-8
LC_CTYPE=zh_CN.GB18030
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=
-- The End --

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/22661144/viewspace-1058078/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2011-04-03

  • 博文量
    208
  • 访问量
    547159