Подтвердить что ты не робот

Почему мой терминал не выводит символы Unicode правильно?

Например, мой терминал делает это:

$ echo -e "\xE2\x98\xA0"
���

Я ожидаю, что он сделает это:

$ echo -e "\xE2\x98\xA0"
☠

Почему? Как заставить мой терминал выводить правильные символы Unicode?

Я использую терминал Gnome 3 на Arch Linux.

Вывод 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=
4b9b3361

Ответ 1

Если вы не можете изменить файлы /etc/*, вы можете вручную настроить меню gnome-terminal Terminal | Set Character Encoding на Unicode(Utf-8)

Ответ 2

Я понял это. Я должен был убедиться, что я установил LANGUAGE="en_US.UTF-8" в /etc/rc.conf и LANG="en_US.UTF-8" в /etc/locale.conf, затем вышел из системы и зашел в систему, и он сработал. Мой терминал отображает юникод правильно.

Ответ 3

Я обновил свой язык с помощью следующей команды:

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

затем перезагрузится:

sudo reboot