例如,我的终端执行此操作:
$ echo -e "\xE2\x98\xA0"
���
我希望它能做到这一点:
$ echo -e "\xE2\x98\xA0"
☠
为什么呢?如何让我的终端输出正确的unicode符号?
我在Arch Linux上使用Gnome 3的终端。
locale
的输出显示:
LANG=C
LC_CTYPE="C"
LC_NUMERIC="C"
LC_TIME="C"
LC_COLLATE="C"
LC_MONETARY="C"
LC_MESSAGES="C"
LC_PAPER="C"
LC_NAME="C"
LC_ADDRESS="C"
LC_TELEPHONE="C"
LC_MEASUREMENT="C"
LC_IDENTIFICATION="C"
LC_ALL=
答案 0 :(得分:12)
我明白了。我必须确保在LANGUAGE="en_US.UTF-8"
中设置/etc/rc.conf
并在LANG="en_US.UTF-8"
中设置/etc/locale.conf
,然后注销并重新登录并运行。我的终端现在正确显示unicode。
答案 1 :(得分:11)
如果您无法更改/etc/*
个文件,可以手动将gnome-terminal
菜单Terminal
| Set Character Encoding
设置为Unicode(Utf-8)
答案 2 :(得分:5)
我使用以下命令更新了我的语言环境:
sudo update-locale LANG=en_US.UTF-8 LANGUAGE=en.UTF-8
然后重新启动:
sudo reboot