Bash 为什么';我的终端不能正确输出unicode字符吗?

Bash 为什么';我的终端不能正确输出unicode字符吗?,bash,shell,command-line,console,terminal,Bash,Shell,Command Line,Console,Terminal,例如,我的终端执行以下操作: $ echo -e "\xE2\x98\xA0" ��� 我希望它能做到这一点: $ echo -e "\xE2\x98\xA0" ☠ 为什么??如何使终端输出正确的unicode符号 我正在ArchLinux上使用GNOME3的终端 locale的输出显示: LANG=C LC_CTYPE="C" LC_NUMERIC="C" LC_TIME="C" LC_COLLATE="C" LC_MONETARY="C" LC_MESSAGES="C" LC_PAPER

例如,我的终端执行以下操作:

$ echo -e "\xE2\x98\xA0"
���
我希望它能做到这一点:

$ echo -e "\xE2\x98\xA0"
☠
为什么??如何使终端输出正确的unicode符号

我正在ArchLinux上使用GNOME3的终端

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=

我想出来了。我必须确保我在
/etc/rc.conf
中设置了
LANGUAGE=“en_US.UTF-8”
,在
/etc/locale.conf
中设置了
LANG=“en_US.UTF-8”
,然后注销并重新登录,一切正常。我的终端现在可以正确地显示unicode。

如果您无法更改
/etc/*
文件,您可以手动设置
gnome终端
菜单
终端
将字符编码设置为
unicode(Utf-8)
我用以下命令更新了我的区域设置:

sudo update-locale LANG=en_US.UTF-8 LANGUAGE=en.UTF-8
然后重新启动:

sudo reboot

您使用的是什么操作系统?对于OSX,请尝试:终端->首选项->高级->字符。编码:UTF-8Besides op sys,还指定您使用的终端仿真器程序(例如gnome terminal、xterm或中列出的其他程序),以及选择的字符编码(例如Unicode UTF-8)和字体。在我的Ubuntu12.04 linux系统上,带有gnome终端和UTF-8以及Monospace Bold,骷髅和交叉骨看起来不错。我也在使用gnome终端。。。那么我在哪里更改这些设置呢?嗯。。。。我想知道运行
locale
显示的
LANG=C
是否是问题所在。。。hmmmmm.@trusktr My locale显示所有项=“en_US.UTF-8”,但我仍然看不到unicode字符!虽然我的区域设置已经正确,但对我来说不起作用。现在每个人都在迁移到systemd。如果您使用的是systemd,那么使用rc.conf不会有任何作用。@trusktr没有rc.conf!只是一个本地人!如果我可以更改/etc/*,我现在该怎么办?!这对我(使用GNOME终端2.31.3)有效,而更改环境变量则无效。