本節將說明語言環境變數、TTY 環境設定、32 位元和 64 位元 STREAMS 模組以及終端機支援。
請確認您的系統上已安裝 en_US.UTF-8 語言環境。若要檢查目前語言環境的各種設定,請使用 locale 公用程式。
system% 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_ALL=
若要使用 en_US.UTF-8 語言環境的桌面環境,請先選擇該語言環境。請先在一個 TTY 環境中,設定 LANG 環境變數為 en_US.UTF-8 來選擇語言環境,請參考下列 C-shell 範例:
system% setenv LANG en_US.UTF-8
請確定您未設定 LC_ALL、LC_COLLATE、LC_CTYPE、LC_MESSAGES、LC_NUMERIC、LC_MONETARY 和 LC_TIME 種類或是已設定為 en_US.UTF-8。這些種類一經設定,其將會置換較低優先權的 LANG 環境變數。如需環境變數架構的詳細資訊,請參閱「setlocale(3C) 線上說明手冊」。
您也可以從 CDE 桌面啟動 en_US.UTF-8 環境。在 CDE 登入螢幕的 Options -> Language 功能表中選擇 en_US.UTF-8。
根據您所使用的終端機或終端機模擬器,您可能需要在系統上安裝某些字碼集特定的 STREAMS 模組。
如需 STREAMS 模組和一般使用串流的詳細資訊,請參閱「STREAMS Programming Guide」。
下表列出了在終端機環境中,en_US.UTF-8 語言環境所支援的 64 位元 STREAMS 模組。如需詳細資訊,請參閱「Solaris 64-bit Developer's Guide」。
表 5–12 en_US.UTF-8 所支援的 STREAMS 模組
32 位元 STREAMS 模組 |
描述 |
---|---|
/usr/kernel/strmod/sparcv9/u8lat1 |
UTF-8 和 ISO8859-1 之間的字碼轉換 STREAMS 模組 (西歐語系) |
/usr/kernel/strmod/sparcv9/u8lat2 |
UTF-8 和 ISO8859-2 之間的字碼轉換 STREAMS 模組 (東歐) |
/usr/kernel/strmod/sparcv9/u8koi8 |
UTF-8 和 KOI8-R (斯拉夫文) 之間的字碼轉換 STREAMS 模組 |
從 Solaris 10 發行版本開始,不再支援 32 位元核心的 SPARC sun4u 平台。表 5–12 僅適用於 32-位核心的 x86 平台。如需詳細資訊,請參閱「版本說明」。
下表列出了 en_US.UTF-8 所支援的 64 位元 STREAMS 模組。
表 5–13 en_US.UTF-8 所支援的 64 位元 STREAMS 模組
64 位元 STREAMS 模組 |
描述 |
---|---|
/usr/kernel/strmod/sparcv9/u8lat1 |
UTF-8 和 ISO8859-1 之間的字碼轉換 STREAMS 模組 (西歐) |
/usr/kernel/strmod/sparcv9/u8lat2 |
UTF-8 和 ISO8859-2 之間的字碼轉換 STREAMS 模組 (東歐) |
/usr/kernel/strmod/sparcv9/u8koi8 |
UTF-8 和 KOI8-R (斯拉夫文) 之間的字碼轉換 STREAMS 模組 |
以 root 使用者身份,確認您執行的是 64 位元 Solaris 或 32 元 Solaris 系統。
system# isainfo -v
確認您的系統是否已載入 STREAMS 模組。
system# modinfo | grep 模組名稱
若您已安裝如 u8lat1 等 STREAMS 模組,其輸出將會顯示如下:
system# modinfo | grep u8lat1 89 ff798000 4b13 18 1 u8lat1 (UTF-8 <--> ISO 8859-1 模組)
如果該模組尚未載入,請使用 modload(1M) 指令來載入它。
以 root 使用者身份,確認已載入核心模組。
例如,若要確認已載入 u8lat1,請鍵入:
system# modinfo | grep u8lat1 89 ff798000 4b13 18 1 u8lat1 (UTF-8 <--> ISO 8859-1 模組)
請使用 modunload(1M) 指令來卸載核心。
例如,若要卸載 u8lat1 模組,請鍵入:
system# modunload -i 89
請使用 strchg(1M),如第二個指令行所示。
system% cat > tmp/mystreams ttcompat ldterm u8lat1 ptem ^D system% strchg -f /tmp/mystreams
在使用 strchg(1) 之前,請確認您是 root 使用者或裝置擁有人。
執行 strconf 指令以測試目前的配置。
system% strconf ttcompat ldterm u8lat1 ptem pts system%
執行 strchg 指令以重新設定原始配置。
system% cat > /tmp/orgstreams ttcompat ldterm ptem ^D system% strchg -f /tmp/orgstreams
不同於舊版 Solaris 作業系統,支援 UTF-8 字碼集輸入和輸出的 dtterm 和 xterm 終端機模擬器及其他終端機,在其串流中不需要任何額外的 STREAMS 模組。如果使用 stty(1) 公用程式來設定終端機環境,則 ldterm 模組將與字碼集無關,並且支援 Unicode/UTF-8。
若要為 Unicode 語言環境設定適當的終端機環境,請使用 stty(1) 公用程式。
system% /bin/stty defeucw
若要查詢目前的設定,請使用 stty 公用程式的 -a 選項,如下所示:
system% /bin/stty -a
由於 /usr/ucb/stty 尚未國際化,請使用 /bin/stty 來代替。
針對僅支援 Latin-1 (ISO8859-1)、Latin-2 (ISO8859-2) 或 KOI8-R 的終端機,您必須進行以下的 STREAMS 配置:
head <-> ttcompat <-> ldterm <-> u8lat1 <-> TTY
此配置僅適用於支援 Latin-1 的終端機。針對 Latin-2 終端機,請將 STREAMS 模組 u8lat1 替換為 u8lat2。針對 KOI8-R 終端機,請將模組替換為 u8koi8。
請確定您已經在核心程式中載入該 STREAMS 模組。
假設必要的 STREAMS 模組已與核心一起載入,您可以直接在 .cshrc 檔案 (C shell 範例) 中儲存下列指令行:
setenv LANG en_US.UTF-8 if ($?USER != 0 && $?prompt != 0) then cat >! /tmp/mystreams$$ << _EOF ttcompat ldtterm u8lat1 ptem _EOF /bin/strchg -f /tmp/mystreams$$ /bin/rm -f /tmp/mystreams$$ /bin/stty cs8 -istrip defeucw endif
一旦您將這些指令行儲存至 .cshrc 檔案中,每次當您使用 STREAMS 模組時就不再需要輸入所有的指令。請注意,第二 _EOF 的起始位置必須位於檔案的第一個欄位。