Ubuntu Server 16.04 的 ssh 會話中的 Unicode/UTF-8 問題

Ubuntu Server 16.04 的 ssh 會話中的 Unicode/UTF-8 問題

我有一個全新的 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 會話時我應該使用一些參數?

相關內容