tru*_*ktr 46 bash shell terminal console command-line
例如,我的终端执行此操作:
$ echo -e "\xE2\x98\xA0"
???
Run Code Online (Sandbox Code Playgroud)
我希望它能做到这一点:
$ echo -e "\xE2\x98\xA0"
?
Run Code Online (Sandbox Code Playgroud)
为什么?如何使终端输出正确的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=
Run Code Online (Sandbox Code Playgroud)
tru*_*ktr 14
我想到了.我必须确保我LANGUAGE="en_US.UTF-8"
进入/etc/rc.conf
和LANG="en_US.UTF-8"
进入/etc/locale.conf
,然后退出并重新登录并且它有效.我的终端现在正确显示unicode.
Nim*_*lar 11
如果您无法更改/etc/*
文件,可以手动设置gnome-terminal
菜单Terminal
| Set Character Encoding
至Unicode(Utf-8)
我使用以下命令更新了我的语言环境:
sudo update-locale LANG=en_US.UTF-8 LANGUAGE=en.UTF-8
Run Code Online (Sandbox Code Playgroud)
然后重启:
sudo reboot
Run Code Online (Sandbox Code Playgroud)