it-swarm.com.de

Warum gibt mein Terminal Unicode-Zeichen nicht richtig aus?

Zum Beispiel macht mein Terminal Folgendes:

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

Ich erwarte, dass es das tut:

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

Warum? Wie bringe ich mein Terminal dazu, die richtigen Unicode-Symbole auszugeben?

Ich verwende das Terminal von Gnome 3 unter Arch Linux.

Die Ausgabe von locale zeigt:

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=
44
trusktr

Ich habe es herausgefunden. Ich musste sicherstellen, dass ich LANGUAGE="en_US.UTF-8" im /etc/rc.conf und LANG="en_US.UTF-8" im /etc/locale.conf, dann abgemeldet und wieder angemeldet und es hat funktioniert. Mein Terminal zeigt jetzt den Unicode korrekt an.

12
trusktr

Falls Sie keine /etc/* - Dateien ändern können, können Sie das Menü gnome-terminalTerminal | Set Character Encoding Manuell auf Unicode(Utf-8) setzen.

11
Nimlar

Ich habe mein Gebietsschema mit dem folgenden Befehl aktualisiert:

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

dann neu gestartet:

Sudo reboot
6
Ben