Maintenant j'ai changé l'encodage des caractères de mon terminal gnome en "GBK" (par défaut c'est UTF-8), mais comment puis-je obtenir la valeur (encodage des caractères) dans mon Linux ?
Réponses
Trop de publicités?Pour voir les informations sur la locale actuelle, utilisez locale
commande. Voici un exemple sur RHEL 7.8
[usr@host ~]$ locale
LANG=en_US.UTF-8
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=
Examen de https://invisible-island.net/xterm/ctlseqs/ctlseqs.html la documentation sur les caractères de contrôle de xterm, montre qu'elle suit la norme ISO 2022 pour le changement de jeu de caractères. En particulier, ESC % G sélectionne UTF-8. Pour forcer le terminal à utiliser UTF-8, il faudrait donc envoyer cette commande. Je ne trouve aucun moyen de demander quel jeu de caractères est actuellement utilisé, mais il existe des moyens de savoir si le terminal prend en charge les jeux de caractères de remplacement nationaux.
Cependant, de charsets(7) Il semble que GBK (ou GB2312) ne soit pas un encodage supporté par l'ISO 2022 et que xterm ne le supporte pas en natif. Votre meilleure chance est donc d'utiliser iconv pour convertir en UTF-8.
Plus d'informations sur lecture montre qu'un sous-ensemble (significatif) de GBK est EUC, qui est un code ISO2022, de sorte que les terminaux compatibles ISO2022 pourraient être en mesure d'afficher le GBK en mode natif après tout, mais je ne trouve aucune mention de l'activation de ce programme, de sorte que l'interface utilisateur du terminal serait le seul recours.
- Réponses précédentes
- Plus de réponses
4 votes
Court résumé : Terminaux Unix : Survivre à l'enfer de l'encodage