【Linux基础】查看和更改当前系统字符集(LC_ALL、LC_TYPE和LANG)

1.Locale说明

Locale是一个软件在运行时的语言环境,。是根据计算机用户所使用的语言,所在国家或者地区,以及当地的文化传统所定义的。它包括语言(Language), 地域 (Territory) 和字符集(Codeset)。

一个locale的书写格式为: 语言[_地域[.字符集]]。完全的locale表达方式是 [语言[_地域][.字符集] [@修正值]。例如:

zh_CN.GB2312   =>  中文_中华人民共和国+国标2312字符集。

2.Locale查看

(1)locale把按照所涉及到的文化传统的各个方面分成12个大类

复制代码
[root@TDExpress1620_Sles11:~]$ locale 
LANG=en_US.UTF-8 
LC_CTYPE="en_US.UTF-8"       #语言符号及其分类
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"  #对locale自身包含信息的概述
LC_ALL=en_US.UTF-8 
复制代码

(2)查看标准字符集列表

复制代码
[root@TDExpress1620_Sles11:~]$ locale -a
zh_CN
zh_CN.gb18030
zh_CN.gbk
zh_CN.utf8
zh_HK
zh_HK.utf8
zh_SG
zh_SG.gbk
zh_SG.utf8
zh_TW
zh_TW.euctw
zh_TW.utf8
zu_ZA
zu_ZA.utf8
复制代码

常用字符集:en_US.utf8、zh_CN.gb2312、zh_CN.gbk、zh_CN.utf8等

3.Locale的设定

LC_ALL和LANG优先级的关系:LC_ALL > LC_* >LANG 
(1)如果需要一个纯中文的系统的话,设定LC_ALL= zh_CN.XXXX即可。或者设定LANG=zh_CN.XXXX也可以,但是LC_*不要有任何特殊设定才可以(因为LC_*优先级高)。 
(2)如果需要个性化的环境,例如只想要一个可以输入中文的环境,而保持菜单、标题,系统信息等等为英文界面,那么只需要设定LANG=en_US.XXXX,然后 LC_CTYPE=zh_CN.XXXX就可以了。 
(3)假如什么也不做的话,也就是LC_ALL,LANG和LC_*均不指定特定值的话,系统将采用POSIX作为lcoale,也就是C locale。

4.查看与设定字符集实践

(1)查看当前系统字符集三种方式(LC_ALL、LC_CTYPE和LANG),以查看LANG为例:

[root@TDExpress1620_Sles11:~]$  echo $LANG
en_US.UTF-8
[root@TDExpress1620_Sles11:~]$ env |grep -i LANG
LANG=en_US.UTF-8
[root@TDExpress1620_Sles11:~]$ locale |grep -i LANG
LANG=en_US.UTF-8

(2)更改系统字符集

export LANG=<字符集名称>或者export LC_ALL=<字符集名称>

备注:直接执行上述命令,可以临时修改系统字符集。如果写入环境变量可以永久改变字符集。

(3)取消当前系统字符集(设定为空)

unset LANG

备注:直接执行上述命令,可以临时修改系统字符集。如果写入环境变量可以永久改变字符集。

 

参考文档:

Linux - 查看和更改系统字符集

linux_locale的设定中LANG、LC_ALL、LANGUAGE环境变量的区别

posted @   李子恒  阅读(10611)  评论(0编辑  收藏  举报
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
点击右上角即可分享
微信分享提示