For example, my terminal does this:
$ echo -e "\xE2\x98\xA0"
���
I expect it to do this:
$ echo -e "\xE2\x98\xA0"
☠
Why? How do I make my terminal output the proper unicode symbols?
I'm using Gnome 3's Terminal on Arch Linux.
The output of locale
shows:
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=
I figured it out. I had to make sure I set
LANGUAGE="en_US.UTF-8"
in/etc/rc.conf
andLANG="en_US.UTF-8"
in/etc/locale.conf
, then logged out and logged back in and it worked. My terminal displays unicode properly now.In case you cannot change
/etc/*
files, you can manually set thegnome-terminal
menuTerminal
|Set Character Encoding
toUnicode(Utf-8)
I updated my locale with the following command:
then rebooted: