Maintenant, je change le codage de caractères de mon gnome-terminal en "GBK" (par défaut, il s’agit de UTF-8), mais comment puis-je obtenir la valeur (codage de caractères) dans mon Linux?
Le terminal utilise variables d'environnement pour déterminer quel jeu de caractères utiliser, vous pouvez donc le déterminer en consultant ces variables:
echo $LC_CTYPE
ou
echo $LANG
La commande locale
sans argument affichera les valeurs de toutes les variables d'environnement pertinentes, à l'exception de LANGUE.
Pour l'encodage actuel:
locale charmap
Pour les lieux disponibles:
locale -a
Pour les encodages disponibles:
locale -m
Vérifier l'encodage et la langue:
$ echo $LC_CTYPE
ISO-8859-1
$ echo $LANG
pt_BR
Obtenez toutes les langues:
$ locale -a
Passez à pt_PT.utf8:
$ export LC_ALL=pt_PT.utf8
$ export LANG="$LC_ALL"
Si vous avez Python:
python -c "import sys; print(sys.stdout.encoding)"
À ma connaissance, non.
Des indications indirectes provenant de $LC_CTYPE
, locale
et autres peuvent sembler attrayantes, mais elles sont complètement séparées du codage de l'application de terminal (en fait, un émulateur) est utilisé lors de l'affichage de caractères à l'écran.
Le seul moyen de détecter l’encodage consiste à sortir quelque chose que cet encodage, par ex. ä
, faites une capture d'écran, analysez cette image et vérifiez si le caractère de sortie est correct.
Donc non, ce n'est pas possible, malheureusement.