当我启动 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