Accéder au contenu.
Menu Sympa

fr - Re: [sympa-fr] Documents partagés et UTF-8

Objet : Pour les administrateurs de serveurs de listes utilisant le logiciel Sympa

Archives de la liste

Chronologique Discussions  
  • From: David Verdin <adresse@cachée>
  • To: Nicolas Courtel <adresse@cachée>
  • Cc: sympa-fr <adresse@cachée>
  • Subject: Re: [sympa-fr] Documents partagés et UTF-8
  • Date: Tue, 07 Apr 2009 12:37:28 +0200

Bonjour,

Argh, problème d'encodage...

Si je comprends bien l'encodage Q (en UTF-8) chaque caractère accentué est encodé sur deux paires de caractères hexadécimaux chacun précédé d'un caractère "=". Par exemple, "é" doit donner "=C3=A9"

Si on regarde la chaîne stockée sur votre serveur, "=?UTF-8?Q?=C3=83=C2=A9t=C3=83=C2=A9?=", on voit qu'il y a deux fois plus de paires, qui signifient (d'après : http://hapax.qc.ca/conversion.fr.html) :

=C3=83 (Ã)
=C2=A9 (©)

Ce qui se traduit normalement par "été". Vous êtse sûr que ce n'est pas ce mot-là qui apparaît, plutôt que 'À©tÀ©' ?

Dès lors, il est fort probable que comme, lors d'une tentative d'accès à un fichier, la chaîne de caractères correspondant à son nom est Q-encodée pour le retrouver sur le système de fichiers, chacun des caractères de "été" soit à nouveau traduit en paires de caractères hexadécimaux. ce qui devrait donner deux doublons de part et d'autre du "t", et non 4 comme c'est le cas. Ce que vous trouvez correspond à :

=C3=83 (Ã)
=C2=83 (ƒ)
=C3=82 (Â)
=C2=A9 (©)
t
=C3=83 (Ã)
=C2=83 (ƒ)
=C3=82 (Â)
=C2=A9 (©)

L'encodage ne marche donc jamais. Dès que des données sont envoyées depuis le client vers le navigateur web, la traduction échoue.
Tout se passe comme si les caractères étaient envoyés en Latin 1 (en effet, "é" encodé en UTF-8 donne "é" quand il est affiché en latin 1).

Est-ce que les entête du document HTML indiquent bien un encodage UTF-8 ? Est-ce que vous avez essayé de saisir des caractères accentués ailleurs dans l'interface web ? Y a-t-il eu des problèmes ?

Désolé, mais les questions d'encodage sont souvent complexes, mais j'espère que ces éléemtns vous aideront un peu.

Cordialement,

David Verdin


Nicolas Courtel a écrit :
Bonjour,

Ayant migré récemment de Sympa 5.2.4 vers 5.4.5 en Linux Debian, j'ai des soucis avec les caractères accentués dans les documents partagés. Les noms des fichiers et répertoires comportant des accents sont bien Q-encodés comme l'indique le manuel, mais c'est loin d'être transparent pour les utilisateurs :-) .

Lorsque l'on crée un répertoire, ou que l'on dépose un fichier, les caractères accentués apparaissent encodés; si par exemple je crée un répertoire 'été':
- l'apparence est correcte dans la fenêtre de saisie
- une fois créé, le répertoire apparaît sous la forme 'À©tÀ©' dans l'interface de Sympa, ainsi que dans le lien correspondant
- dans le système de fichier, son nom est par contre '=?UTF-8?Q?=C3=83=C2=A9t=C3=83=C2=A9?=', ce qui me semble correct

Et lorsque je clique sur le lien, l'interface m'indique que le répertoire n'existe pas; en effet, dans le log je constate que chaque caractère accentué a été recherché en double:

do_d_read : unable to read /.../shared/=?UTF-8?Q?=C3=83=C2=83=C3=82=C2=A9t=C3=83=C2=83=C3=82=C2=A9?= : no such file or directory

Le serveur et le client sont tous deux en fr_FR-UTF-8, ce qui semble convenir pour toutes les autres pages de Sympa.

Si quelqu'un a une explication, je suis preneur!


--
David Verdin
Comité réseau des universités




Archives gérées par MHonArc 2.6.19+.

Haut de le page