程式執行使用一套語言需要有字符集(資料)和字型(顯示),locale是根據計算機使用者所使用的語言,所在國家或者地區,以及當地的文化傳統所定義的乙個軟體執行時的語言環境。
一、locale詳解
在 linux 中通過 locale 來設定程式執行的不同語言環境,locale 由 ansi c 提供支援。locale 的命名規則為:
《語言》_《地區》.《字符集編碼》
如:zh_cn.utf-8,zh代表中文,cn代表大陸地區,utf-8表示字符集。
在locale環境中,有一組變數,代表國際化環境中的不同設定:
1、lc_collate
定義該環境的排序和比較規則
2、lc_ctype
用於字元分類和字串處理,控制所有字元的處理方式,包括字元編碼,字元是單位元組還是多位元組,如何列印等。是最重要的乙個環境變數。
3、lc_monetary
貨幣格式
4、lc_numeric
非貨幣的數字顯示格式
5、lc_time
時間和日期格式
6、lc_messages
提示資訊的語言。另外還有乙個language引數,它與lc_messages相似,但如果該引數一旦設定,則lc_messages引數就會失效。language引數可同時設定多種語言資訊,如languane="zh_cn.gb18030:zh_cn.gb2312:zh_cn"。
7、lang
lc_*的預設值,是最低級別的設定,如果lc_*沒有設定,則使用該值。類似於 lc_all。
8、lc_all
它是乙個巨集,如果該值設定了,則該值會覆蓋所有lc_*的設定值。注意,lang的值不受該巨集影響。
乙個例子:
設定前,使用預設locale:
# locale
lang="posix"
lc_ctype="posix"
lc_numeric="posix"
lc_time="posix"
lc_collate="posix"
lc_monetary="posix"
lc_messages="posix"
lc_*****="posix"
lc_name="posix"
lc_address="posix"
lc_telephone="posix"
lc_measurement="posix"
lc_identification="posix"
lc_all=
設定後,使用zh_cn.gbk中文locale:
# export lc_all=zh_cn.gbk
# locale
lang=zh_cn.utf-8
lc_ctype="zh_cn.gbk"
lc_numeric="zh_cn.gbk"
lc_time="zh_cn.gbk"
lc_collate="zh_cn.gbk"
lc_monetary="zh_cn.gbk"
lc_messages="zh_cn.gbk"
lc_*****="zh_cn.gbk"
lc_name="zh_cn.gbk"
lc_address="zh_cn.gbk"
lc_telephone="zh_cn.gbk"
lc_measurement="zh_cn.gbk"
lc_identification="zh_cn.gbk"
lc_all=zh_cn.gbk
"c"是系統預設的locale,"posix"是"c"的別名。所以當我們新安裝完乙個系統時,預設的locale就是c或posix。
二、locale常用操作
1、檢視現有語言環境:
locale
2、可用語言環境:
locale -a
3、臨時修改語言環境:
aix:
export lang=en_us
export lang=zh_cn
linux:
export lang=en_us.utf-8
export lang=zh_cn.utf-8
4、永久修改系統級字符集:
修改/etc/sysconfig/i18n
英文版系統:
lang="en_us.utf-8"
sysfont="latarcyrheb-sun16"
中文版系統:
lang="zh_cn.utf-8"
sysfont="latarcyrheb-sun16"
英文版系統支援中文字符集:yum install fonts-chinese
三、安裝中文字符集
1、安裝所有與中文支援相關的包
# yum -y groupinstall chinese-support
2、修改字元編碼配置檔案
# vi /etc/sysconfig/i18n
修改後內容如下:
lang="zh_cn.utf-8"
supported="zh_cn:zh:en_us.utf-8:en_us:en:zh_cn.gb18030"
sysfont="latarcyrheb-sun16"
Linux語言環境設定
程式執行使用一套語言需要有字符集 資料 和字型 顯示 locale是根據計算機使用者所使用的語言,所在國家或者地區,以及當地的文化傳統所定義的乙個軟體執行時的語言環境。一 locale詳解 在 linux 中通過 locale 來設定程式執行的不同語言環境,locale 由 ansi c 提供支援。...
linux中 語言環境的設定(locale)
the original etc sysconfig i18n file is lang en us.utf 8 sysfont latarcyrheb sun16 if we want to change locale to be japanese,just follow the instucti...
linux 設定字符集和語言環境
1.全域性字符集語言環境 cat etc locale.conf lang zh cn.utf 8 需root許可權 修改為gbk echo lang zh cn.gbk etc locale.conf 字串 lang zh cn.gbk 覆蓋到檔案 source etc locale.conf 啟...