[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Gestion de caractères accentués différentes entre xterm, d'autres émulateurs de terminal, et Emacs (locales correctes)



Le Fri, Oct 28, 2022 at 12:50:19AM +0200, Jean-Philippe Georget a écrit :
> 
> Sous xterm, ce fichier s'affiche correctement comme "référent.pdf" avec la commande "ls".
> 
> Par contre, sous xfce4-terminal, il s'affiche bizarrement comme "référent.pdf" (notez les accents décalés sur la droite des "e").

Bonjour,

c'est un problème de prise en charge d'Unicode.

Sur mon terminal, je vois référent.pdf dans les deux cas.  Mais voici
ce que je vois si je copie-colle le nom de ficher et le passe à hexdump.

echo référent.pdf | hexdump -C
00000000  72 c3 a9 66 c3 a9 72 65  6e 74 2e 70 64 66 0a     |référent.pdf.|
0000000f

echo référent.pdf | hexdump -C
00000000  72 65 cc 81 66 65 cc 81  72 65 6e 74 2e 70 64 66  |re?.fe?.rent.pdf|
00000010  0a                                                |.|
00000011

Pour un peu plus de contexte, voici une version pure ASCII sans accents:

echo referent.pdf | hexdump -C
00000000  72 65 66 65 72 65 6e 74  2e 70 64 66 0a           |referent.pdf.|
0000000d

Et lettre par lettre:

printf é | hexdump -C
00000000  c3 a9                                             |é|
00000002

printf e | hexdump -C
00000000  65                                                |e|
00000001

printf é | hexdump -C
00000000  65 cc 81                                          |e?.|
00000003

Le dernier é, c'est un e auquel on ajoute ensuite un accent aigu.

Le caractère Unicode U+0301 COMBINING ACUTE ACCENT est encodé cc81 en UTF-8.

Je dois m'arrêter là car mon train arrive en gare, mais une solution
pour contourner le problème pourrait être:

mv r?f?rent.pdf référent.pdf

Ceci change le nom de fichier pour utiliser la représentation la plus
habituelle.

D'autres abonnés à cette liste pourront t'indiquer des outils pour le
faire automatiquement.

Amicalement,

Charles Plessy


Reply to: