2012-04-08 96 views
0

下面是我的語言環境來設置。困惑的語言環境和編碼

LANG=en_US.UTF-8 
LC_CTYPE=zh_CN.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 
LC_ALL= 

如果更改LC_CTYPE爲en_US.UTF-8,然後我不能輸入中國字在終端或其它應用。爲什麼? LC_TYPE中前綴的功能是什麼:en_US或zh_CN?

如果我想輸入中文單詞,那麼我設置LC_CTYPE = zh_CN,如果我想輸入另一種語言(假設它是X)單詞,那麼我設置LC_CTYPE = X。但是,如果我想輸入中文和X,那我該怎麼辦?

回答

0

LC_CTYPE適用於分類和字符的轉換,並且爲多字節和寬字符。

zh是ISO-代碼爲中國。 zh_CNzh亞型和代表「簡化中國人」。

+0

我仍然不知道爲什麼我不能輸入中國的漢字,如果我因爲在EN_US改變LC_CTYPE爲en_US.UTF-8 – louxiu 2012-04-09 08:35:48

+0

你只有onebyte字符。對於中國的glyphes,你需要多字節字符 – 2012-04-09 11:12:09

0

請注意,您可以導出的語言環境,爲每個bash命令,因此,如果您設置LANG等,並開始在同一個腳本X會話 - 這種語言將被接受整個X會話。 例如,以下腳本啓動VNC會話進行德語語言操作,它與系統語言無關。您可以在此處爲所需的輸入佈局添加所需的環境變量,併爲每個X會話獲取所需的結果。

#!/bin/bash 
export LANG=de_DE.UTF-8 
export LANGUAGE=de_DE:de 
vnc4server -depth 16 -geometry 1024x768 :1 
vncconfig -iconic -nowin -display :1 &