web-dev-qa-db-fra.com

Problème Unicode dans la konsole

J'ai un problème avec l'encodage de texte dans konsole (j'ai aussi essayé xterm, les choses sont les mêmes) (Kubuntu 13.04, KDE). Voici l'exemple de sortie:

oleg@PrizoffN:~$ gg
gg: \u043a\u043e\u043c\u0430\u043d\u0434\u0430 \u043d\u0435 \u043d\u0430\u0439\u0434\u0435\u043d\u0430

(Ici gg est juste des caractères aléatoires, donc la réponse devrait être command not supported ou quelque chose comme ça.)

oleg@PrizoffN:~$ Sudo apt-get install krusader
[Sudo] password for oleg: 
?????? ??????? ???????... ??????
?????????? ?????? ????????????       
?????? ?????????? ? ?????????... ??????
??? ??????????? ????? ????? ?????? krusader.
????????? 0, ??????????? 0 ????? ???????, ??? ???????? ???????? 0 ???????, ? 0 ??????? ?? ?????????.

oleg@PrizoffN:~$ uname -a
Linux PrizoffN 3.8.0-19-generic #29-Ubuntu SMP Wed Apr 17 18:16:28 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux

Je ne sais pas pourquoi c'est si ... Que peut-on faire ici?

Dans le même temps, tout fonctionne bien en mode console pure (si j'appuie sur CTRL + ALT + F1)

Mise à jour: voici des données utiles:

oleg@PrizoffN:~$ locale
LANG=en_US.ISO-8859-1
LANGUAGE=en_US:ru:en
LC_CTYPE="en_US.ISO-8859-1"
LC_NUMERIC="en_US.ISO-8859-1"
LC_TIME="en_US.ISO-8859-1"
LC_COLLATE="en_US.ISO-8859-1"
LC_MONETARY="en_US.ISO-8859-1"
LC_MESSAGES="en_US.ISO-8859-1"
LC_PAPER="en_US.ISO-8859-1"
LC_NAME="en_US.ISO-8859-1"
LC_ADDRESS="en_US.ISO-8859-1"
LC_TELEPHONE="en_US.ISO-8859-1"
LC_MEASUREMENT="en_US.ISO-8859-1"
LC_IDENTIFICATION="en_US.ISO-8859-1"
LC_ALL=

Mise à jour 2:

J'ai pu restaurer les paramètres régionaux à leur état normal en exécutant

LANG=en_US.utf8

Mais ce n'était qu'un résultat provisoire. Les paramètres régionaux de redémarrage de konsole sont réinitialisés sur leur valeur ISO-8859-1. Comment puis-je stocker cela en permanence?

J'ai aussi trouvé ce fichier:

oleg@PrizoffN:~$ cat .kde/env/setlocale.sh 
export LANG=en_US.utf8
export LANGUAGE=en_US:ru:en

où LANG était réglé à l'origine sur ISO-8859-1. Je l'ai changé en utf8 sans aucun effet.

PDATE:

Après le redémarrage, les paramètres régionaux sont revenus à leur état normal. Donc, plus de problèmes.

3
Prizoff

J'utilise une nouvelle installation de Kubuntu 13.04.

Après avoir installé les paramètres régionaux russes et redémarré, j'ai eu le même problème. C'était en effet dû à l'inadéquation du nom de la locale dans .kde/env/setlocale.sh.

Donc, répétant la solution de contournement:

LANG=en_US.ISO-8859-1 =>>>
export LANG=en_US.utf8

puis le redémarrage a résolu le problème totalement!

C'est assez drôle, j'ai compris qu'il y avait un problème en premier lieu non pas dans la konsole (ce symptôme est bien présent), mais en parcourant les données avec Dolphin et en voyant que tous les fichiers encodés en russe étaient nommés de manière abracadabrique .

2
Daniil