Comment réparer l'encodage de caractères dans bash (arch linux)


8

J'ai quelques problèmes avec l'encodage des trémas allemands en bash. Cela fonctionne généralement bien, mais lorsque je tape une commande non valide, le message d'erreur généré par bash contient des séquences d'échappement étranges et non les caractères réels.

Voici un journal qui montre le problème:

[root@myhost ~]# mkdir ä
[root@myhost ~]# ä
-bash: $'\303\244': Kommando nicht gefunden.
[root@myhost ~]# ü
-bash: $'\303\274': Kommando nicht gefunden.
[root@myhost ~]# ls
ä  äöü  Projects  tbb
[root@myhost ~]# cat äöü
äüö
[root@myhost ~]# rm ä
rm: Entfernen von „ä“ nicht möglich: Ist ein Verzeichnis
[root@myhost ~]# rmdir ä
[root@myhost ~]# rm äöü

la configuration de mon /etc/rc.conf:

LOCALE="de_DE.UTF-8"
DAEMON_LOCALE="no"
HARDWARECLOCK="localtime"
TIMEZONE="Europe/Berlin"
KEYMAP="de-latin1"
CONSOLEFONT=
CONSOLEMAP=
USECOLOR="yes"

/etc/locale.gen contient uniquement les paramètres régionaux de_DE:

de_DE.UTF-8 UTF-8
de_DE ISO-8859-1
de_DE@euro ISO-8859-15

locale production:

LANG=de_DE.UTF-8
LC_CTYPE="de_DE.UTF-8"
LC_NUMERIC="de_DE.UTF-8"
LC_TIME="de_DE.UTF-8"
LC_COLLATE="de_DE.UTF-8"
LC_MONETARY="de_DE.UTF-8"
LC_MESSAGES="de_DE.UTF-8"
LC_PAPER="de_DE.UTF-8"
LC_NAME="de_DE.UTF-8"
LC_ADDRESS="de_DE.UTF-8"
LC_TELEPHONE="de_DE.UTF-8"
LC_MEASUREMENT="de_DE.UTF-8"
LC_IDENTIFICATION="de_DE.UTF-8"
LC_ALL=

Quel émulateur de terminal utilisez-vous?
Roman

@RomanB: putty, mais le problème est le même si vous utilisez le shell brut localement, c'est donc un problème bash.
smerlin

@smerlin, il n'y a pas de "shell brut", voulez-vous dire la console, gnome-terminal, urxvt, xterm ou autre? Si vous utilisez la console, que se passe-t-il si vous essayez "export TERM = linux"?
Alexander

@Alexander Le même:$ ö bash: $'\303\266': command not found
Roman B.

Réponses:


1

Cela semble être introduit avec bash 4.2. Vous pouvez signaler cela comme un bug aux développeurs bash.


Je suis d'accord. Il divise le caractère unicode en octets de composants, de sorte que sa gestion Unicode est désactivée.
jpaugh
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.