On Thu, 2006-01-19 at 17:09, Michel Karatchentzeff wrote:
> Le Thu, 19 Jan 2006, Xavier Bestel a écrit :
>
> > On Thu, 2006-01-19 at 15:57, Michel Karatchentzeff wrote:
> >
> > Est-ce que ça fonctionne si tu remplaces vi par cat >/dev/null ? C'est
> > peut-être gnome-terminal qui filtre un encodage qui ne lui plaît pas
> > (genre le classique windows-1252 qui se fait passer pour du iso-8859-1).
>
> Ça plante de la même façon :
> - aucun résultat si je prend globalement les 4 lignes
> - ça marche ligne par ligne, sauf pour la 4-ème si j'y inclus le '
Bien, c'est exactement ça alors. je m'explique:
Windows a un encodage des caractères appelé windows-1252, qui ressemble
à s'y méprendre à l'iso-8859-1 (alias iso-latin-1 pour les intimes). Les
seules différences sont pour certain type de guillemets ou
d'apostrophes, et peut-être d'autres. Le gros problème est Windows
annonce à tout le monde que c'est du iso-latin-1.
Quand tu fais un copier/coller d'une page web win-travestie de la sorte
vers gnome-terminal, ce dernier va la traduire vers son encodage courant
(en général utf-8), pour que les 'é' ressemblent toujours à des 'é',
etc. Il va pour ça regarder quel est l'encodage de départ, celui
d'arrivée, et va donner le buffer à traduire à iconv. Iconv va alors
tomber sur l'apostrophe windowsienne et va dire "ce caratère n'existe
pas en iso-8859-1, je ne sais pas comment le traduire en utf-8, je
m'arrête là". Et paf.
La solution ? Je crois que certains navigateurs reconnaissent les pages
web qui trichent et les convertissent (ou leur donnent le bon encodage).
Je sais qu'Evolution fait de même pour le mail.
Xterm ne se pose pas de question et ne fait même pas de réencodage (donc
pas d'erreur possible), mais du coup faut pas toujorus espérer avoir ses
accents.
Xav