
我有一個全新的 Ubuntu Server 16.04 安裝,我現在正在測試它如何處理 unicode 字元:
- 我有一個包含 unicode 字元的檔案名稱:
testā.txt
.如果我使用選項卡(即 )選擇它$ rm tes[tab]
,則會為命令選擇正確的檔案名稱。 - 如果這樣做
$ ls
,我會test??.txt
在文件列表中看到 - 如果我使用 , 將 unicode 字元添加到文件內容中
$ echo āāā > test.txt
,然後執行$ cat test.txt
,我會得到正確的輸出。 - 但是,如果我在 nano 編輯器中開啟該文件,內容將如下所示:
^ ^ ^
。 - 十六進位轉儲
$ xxd test.txt
顯示 unicode 字元已正確儲存在檔案中:c481 c481 c481 0a
我使用的終端程式(Guake)從來沒有遇到過 unicode 字元的任何問題。在典型的本機終端會話中,不存在上述問題。
打電話env | sort | grep -E '^(LANG(UAGE)?|LC_\w*)='
給
LANG=en_US.UTF-8
LANGUAGE=en_US:en
LC_ADDRESS=lv_LV.UTF-8
LC_IDENTIFICATION=lv_LV.UTF-8
LC_MEASUREMENT=lv_LV.UTF-8
LC_MONETARY=lv_LV.UTF-8
LC_NAME=lv_LV.UTF-8
LC_NUMERIC=lv_LV.UTF-8
LC_PAPER=lv_LV.UTF-8
LC_TELEPHONE=lv_LV.UTF-8
LC_TIME=lv_LV.UTF-8
這可以透過伺服器區域設定來修復嗎?或者在啟動 ssh 會話時我應該使用一些參數?