55

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=
Eric Leschinski
  • 146,994
  • 96
  • 417
  • 335
trusktr
  • 44,284
  • 53
  • 191
  • 263
  • What operating system are you using? For OS X try: Terminal -> Preferences -> Advanced -> Char. Encoding : UTF-8 – Omar Wagih Sep 29 '12 at 04:27
  • Besides op sys, also specify what terminal emulator program you use (eg, gnome-terminal, xterm, or others listed in [What is the best Linux terminal emulator?](http://superuser.com/questions/80506)), and what character encoding (eg Unicode UTF-8) and font is selected. On my ubuntu 12.04 linux system with gnome-terminal and UTF-8 and Monospace Bold the skull and crossbones appears ok. – James Waldby - jwpat7 Sep 29 '12 at 05:22
  • I'm also using Gnome Terminal... So where do I change those settings? Hmmmm.... I wonder if the face that running `locale` shows `LANG=C` is the problem... hmmmmm. – trusktr Sep 29 '12 at 06:08
  • @trusktr My locale shows all of items = "en_US.UTF-8" , But I can't stil see unicode characters! – Dr.jacky Oct 26 '15 at 12:36

4 Answers4

17

I figured it out. I had to make sure I set LANGUAGE="en_US.UTF-8" in /etc/rc.conf and LANG="en_US.UTF-8" in /etc/locale.conf, then logged out and logged back in and it worked. My terminal displays unicode properly now.

trusktr
  • 44,284
  • 53
  • 191
  • 263
14

I updated my locale with the following command:

sudo update-locale LANG=en_US.UTF-8 LANGUAGE=en.UTF-8

then rebooted:

sudo reboot
Ben
  • 5,952
  • 4
  • 33
  • 44
11

In case you cannot change /etc/* files, you can manually set the gnome-terminal menu Terminal|Set Character Encoding to Unicode(Utf-8)

Nimlar
  • 655
  • 7
  • 15
1

I was trying to solve this after switching to a new PC. I'm using Windows Terminal with Ubuntu instilled in WSL2 on Win 10.

I tried the suggestions provided here and rebooted; no change.

Solution

The fix for me was installing a patched nerd font and setting the font as the default font for each profile in Windows Terminal settings.

enter image description here

OldBuildingAndLoan
  • 2,801
  • 4
  • 32
  • 40