最近学到linux语言、字符集等环境配置,感觉这个地方不好理解,所以花了2天之间查了各种网上查了资料,再在自己的系统(rhel8)上验证了以后,写下了这个文章。希望对大家有用。有不足支持还望批评指正。谢谢。
一、关于locale,以下列举几种介绍
locale描述1:
程序运行使用一套语言需要有字符集(数据)和字体(显示),locale是根据计算机用户所使用的语言,所在国家或者地区,以及当地的文化传统所定义的一个软件运行时的语言环境。
locale描述2:
locale是 Linux 系统中多语言环境的接口,每个locale都定义了地区、语言和字符集。locale的语法规则是:<语言>_<地区>.<字符集编码><@修正值>,如 zh_CN.UTF-8中,zh表示中文,CN表示中国大陆,UTF-8 表示字符集。
locale描述3:
locale 是 Linux 系统中多语言环境的接口,每个 locale 都定义了地区、语言和字符集。locale 的语法规则是:<语言>_<地区>.<字符集编码><@修正值>,如 zh_CN.UTF-8 中,zh 表示中文,CN 表示中国大陆,UTF-8 表示字符集。
locale描述4:
locale的值会影响以下方面:(1)大量的程序界面语言的本地化.(2)修正字符在字母、数字和其它类的分类。对于非英语区域设置来说,只有这样,bash才能正常显示非ASCII字符。(3)国家顺序可以按照字母顺序正常排序(译者注:这里所谓的正常排序,应该是首先将国家名称转换成本地语言的国家名称,比如中国的开头字母是Z,那么显示就很靠后了。但是假如显示为英文,就是C开头,那么将会靠前显示。)(4)默认纸张尺寸(5)货币、时间和日期值的格式。
locale描述5:
locale 是 Linux 系统中多语言环境的设置接口,在 Linux 中,使用 locale 命令来设置和显示程序运行的语言环境,locale 会根据计算机用户所使用的语言,所在国家或者地区,以及当地的文化传统定义一个软件运行时的语言环境。locale 由ANSI C提供支持。
二、查看当前 locale(语言环境/字符集)
操作系统根据区域不同以及人们对于计算机的输入习惯,将 locale(语言环境/字符集)归纳为12大类,并且分别赋予了12个环境变量,即12个LC_*。
变量 含义
LC_CTYPE: 语言符号及其分类
LC_NUMERIC: 数字
LC_TIME: 时间显示格式
LC_COLLATE: 比较和排序习惯
LC_MONETARY: 货币单位
LC_MESSAGES: 信息,如提示信息、错误信息、状态信息、标题、标签、按钮和菜单等
LC_PAPER: 默认纸张大小
LC_NAME: 姓名书写方式
LC_ADDRESS: 地址书写方式
LC_TELEPHONE: 电话号码书写方式
LC_MEASUREMENT: 度量衡表达方式