我尝试使用名为bash-git-prompt的脚本来使git存储库更易于使用。这个脚本的部分功能是使用UTF-8图标来显示工作分支的状态,但是图标没有显示出来,而是我得到了"���"在他们的位置。在我看来,这是一个编码问题,符号没有被正确解释。
我跑了locale
并意识到出现了问题,因为LANG
,LANGUAGE
和LC_ALL
是空白的,其他所有内容的值都为"POSIX"
。我尝试将这些值设置为en_US.UTF-8
,这会出现问题。更改/etc/environment
和/etc/default/locale
不起作用,重启后locale
的输出与以前相同。我最后将这些行添加到.bashrc
:
export LC_ALL=en_US.UTF-8
export LANG=en_US.UTF-8
这已成功更新了区域设置,但我还没有看到像我应该看到的UTF-8字符。我现在的locale
输出是:
$ locale
LANG=en_US.UTF-8
LANGUAGE=en_US.UTF-8
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=en_US.UTF-8
但是我一直都在看���。这是一个示例测试:
$ echo -e "\xE2\x98\xA0"
���
根据我的语言环境设置,我希望这个命令能给我骷髅和交叉骨符号☠。还有其他我在这里失踪的东西吗?
答案 0 :(得分:0)
原来我必须转到menu -> terminal -> set character encoding
来改变我的终端编码,UTF-8
有Current Locale
的选项。所以我想现在我的问题变成了,我该如何将其作为默认值?当我打开一个新终端时,它默认返回en_US.UTF-8
,无论出于何种原因,它都不会被识别为ANSIX3.4-1968
,而是设置为UTF-8
。如何确保{{1}}是默认设置?