Par exemple, mon terminal fait ceci:
$ echo -e "\xE2\x98\xA0"
���
Je m'attends à ce qu'il fasse ceci:
$ echo -e "\xE2\x98\xA0"
☠
Pourquoi? Comment faire en sorte que mon terminal génère les symboles Unicode appropriés?
J'utilise le terminal de Gnome 3 sur Arch Linux.
La sortie de locale
montre:
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=
Je l'ai compris. Je devais m'assurer de régler LANGUAGE="en_US.UTF-8"
dans /etc/rc.conf
et LANG="en_US.UTF-8"
dans /etc/locale.conf
, puis déconnecté et reconnecté et cela a fonctionné. Mon terminal affiche unicode correctement maintenant.
Si vous ne pouvez pas modifier les fichiers /etc/*
, Vous pouvez définir manuellement le menu gnome-terminal
Terminal
| Set Character Encoding
Sur Unicode(Utf-8)
J'ai mis à jour mes paramètres régionaux avec la commande suivante:
Sudo update-locale LANG=en_US.UTF-8 LANGUAGE=en.UTF-8
puis redémarré:
Sudo reboot