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
備注:直接執行上述命令,可以臨時修改系統字符集。如果寫入環境變量可以永久改變字符集。
參考文檔: