當我啟動 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=
答案1
我不知道 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
然後運行 locale 來確認。
$ 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