Linux的locale, LC_ALL 和LANG
来源:互联网 发布:python培训要多少钱 编辑:程序博客网 时间:2024/06/01 08:32
Linux的locale, LC_ALL 和LANG
什么是locale
locale 这个单词中文翻译成地区或者地域,其实这个单词包含的意义要宽泛很多。locale 是根据计算机用户所使用的语言,所在国家或者地区,以及当地的文化传统所定义的一个软件运行时的语言环境。
比如说:
在“简体中文”环境,运行date 命令,显示的是:2015年01月07日 星期三 10:50:20 CST而在英文环境下,运行date 命令,显示的是Wed Jan 7 10:51:31 HKT 2015
locale 把按照所涉及到的使用习惯的各个方面分成12 大类,这12 个大类分别是:
- 语言符号及其分类(LC_CTYPE)
- 数字(LC_NUMBERIC)
- 比较习惯(LC_COLLATE)
- 时间显示格式(LC_TIME)
- 货币单位(LC_MONETARY)
- 信息主要是提示信息,错误信息,状态信息,标题,标签,按钮和菜单等(LC_MESSAGES)
- 行么书写方式(LC_NAME)
- 地址书写方式(LC_ADDRESS)
- 电话号码书写方式(LC_TELEPHONE)
- 度量衡表达方式(LC_MEASUREMENT)
- 默认纸张尺寸大小(LC_PAPER)
- 对locale 自身包含信息的概述(LC_IDENTIFICATION)
而这些信息的配置通常放在/usr/share/i18n/locales 目录下。让我们打开以下zh_CN 和 en_US 。 实际上我们平时使用 date 函数的时候,就是在这里面进行格式选择的。
如何配置locale
通过locale 命令,可以看到LC_* 各个变量的设置,如下:
$ localeLANG=en_HK.UTF-8LANGUAGE=en_HK:enLC_CTYPE="en_HK.UTF-8"LC_NUMERIC="en_HK.UTF-8"LC_TIME="en_HK.UTF-8"LC_COLLATE="en_HK.UTF-8"LC_MONETARY="en_HK.UTF-8"LC_MESSAGES="en_HK.UTF-8"LC_PAPER="en_HK.UTF-8"LC_NAME="en_HK.UTF-8"LC_ADDRESS="en_HK.UTF-8"LC_TELEPHONE="en_HK.UTF-8"LC_MEASUREMENT="en_HK.UTF-8"LC_IDENTIFICATION="en_HK.UTF-8"LC_ALL=
设置LC_TIME 变量:
$ LC_TIME=en_US.utf8 # 变量设置$ export LC_TIME # 生效设置$ date # 效果查看
LC_ALL、LANG和LC_* 的关系
设定locale 就是设定12 大类的locale分类属性,即12个LC_*。除了这个12个变量可以设定以外,为了简便起见,还有两个变量:LC_ALL 和LANG。他们之间有一个优先级的关系:LC_ALL > LC_* > LANG 可以这么说,LC_ALL 是最上级设定或者强制设定,而LANG 是默认设定值。
在设置了LC_ALL 之后,如果不 把LC_ALL 强制设置为空,那么LC_* 将无法被设置。但是LANG 的值不受影响。
LC_ALL=C 的含义
LC_ALL=C 是为了去除所有本地化的设置,让命令能正确执行。
locale 可以设置类型
$ locale -aCC.UTF-8en_HK.utf8POSIX
通过该命令查看后,可以知道所有可以使用的locale 方式。
0 0
- Linux的locale, LC_ALL 和LANG
- Linux的locale, LC_ALL 和LANG
- 浅谈Linux的locale,LC_ALL和LANG
- locale的设定及其LANG、LC_ALL、LANGUAGE环境变量的区别
- locale的设定及其LANG、LC_ALL、LANGUAGE环境变量的区别
- locale的设定及其LANG、LC_ALL、LANGUAGE环境变量的区别
- locale的设定及其LANG、LC_ALL、LANGUAGE环境变量的区别
- locale的设定及其LANG、LC_ALL、LANGUAGE环境变量的区别
- locale的设定及其LANG、LC_ALL、LANGUAGE环境变量的区别
- locale的设定及其LANG、LC_ALL、LANGUAGE环境变量的区别
- locale的设定及其LANG、LC_ALL、LANGUAGE环境变量的区别
- locale的设定及其LANG、LC_ALL、LANGUAGE环境变量的区别
- locale的LANG、LC_ALL、LANGUAGE环境变量的区别
- locale的设定中LANG、LC_ALL、LANGUAGE环境变量的区别
- locale的设定及其LANG、LC_ALL、LANGUAGE环境变量的区别
- locale的设定及其LANG、LC_ALL、LANGUAGE环境变量的区别
- locale的设定及其LANG、LC_ALL、LANGUAGE环境变量的区别
- locale的设定及其LANG、LC_ALL、LANGUAGE环境变量的区别
- zoj 2432 Greatest Common Increasing Subsequence(最长公共上升子序列)
- 循环遍历某目录中扩展名为ahk 、ahkl的文件
- iOS开发- UICollectionView详解+实例
- 关于Codewarrior IDE 5.9.0版本中Warning L1016产生原因及解决办法(Freescale--MC9S12G128)
- 如何恢复手机误删除照片
- Linux的locale, LC_ALL 和LANG
- mysql------source------乱码问题
- C++笔记:select多路复用机制
- 数组分割
- Android SDK更新失败及的解决方法
- TCP连接状态
- 硬盘无法识别怎么办?
- C规范里的趣闻Warning: no newline at end of file
- 浅学-MVC