【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環境變量的區別


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM