Locale

如何為 Spacemacs 正確配置我的語言環境?

  • March 20, 2018

當我啟動 Spacemacs 時,我得到一個由\u2502序列創建的框,我認為它是一個特定字元或顏色的框,無法正確渲染。下面是locale命令的輸出。我必須全域應用什麼設置,或者在我的.bashrc等中應用什麼設置來解決這個問題?

LANG=en_GB
LANGUAGE=:en_GB.utf8
LC_CTYPE="en_GB"
LC_NUMERIC="en_GB"
LC_TIME="en_GB"
LC_COLLATE="en_GB"
LC_MONETARY="en_GB"
LC_MESSAGES="en_GB"
LC_PAPER="en_GB"
LC_NAME="en_GB"
LC_ADDRESS="en_GB"
LC_TELEPHONE="en_GB"
LC_MEASUREMENT="en_GB"
LC_IDENTIFICATION="en_GB"
LC_ALL=

我不知道任何特定於 spacemacs 的內容,但這看起來像是一個編碼問題。

你的性格已經是很好的考驗了。

$ echo -e "\u2502" 
â

要設置 UTF-8 編碼(這對 ASCII 數據非常有用),請確保所有語言變數都包含 UTF-8。

應該足夠了:

export LC_ALL=en_GB.UTF-8
export LANG=en_GB.UTF-8
export LANGUAGE=en_GB.UTF-8

之後執行語言環境來確認它。

$ export LC_ALL=en_GB.UTF-8
$ export LANG=en_GB.UTF-8
$ export LANGUAGE=en_GB.UTF-8
$ locale
LANG=en_GB.UTF-8
LC_CTYPE="en_GB.UTF-8"
LC_NUMERIC="en_GB.UTF-8"
LC_TIME="en_GB.UTF-8"
LC_COLLATE="en_GB.UTF-8"
LC_MONETARY="en_GB.UTF-8"
LC_MESSAGES="en_GB.UTF-8"
LC_PAPER="en_GB.UTF-8"
LC_NAME="en_GB.UTF-8"
LC_ADDRESS="en_GB.UTF-8"
LC_TELEPHONE="en_GB.UTF-8"
LC_MEASUREMENT="en_GB.UTF-8"
LC_IDENTIFICATION="en_GB.UTF-8"
LC_ALL=en_GB.UTF-8

現在再次測試

$ echo -e "\u2502" 
│

這在您的 .bashrc 中應該可以解決。

確保您的終端仿真器(如果有)實際上也使用了正確的編碼。我相信它應該正確地讀取它$LC_TYPE,但有些設置可以在他們的偏好中覆蓋它。

如果您還想設置/測試顏色,請確保在您的術語變數中設置了 256 種顏色

export TERM="xterm-256color"

256colors.pl 是一個很好的測試https://gist.github.com/hSATAC/1095100

引用自:https://unix.stackexchange.com/questions/357926