Salut Yann ! > -----Original Message----- > From: yann cochard > Un utilisateur vient de me faire part d'un petit problème d'encodage > d'URL : ça marche bien avec Mozilla Firefox, mais pas avec internet > explorer. > Pour tester, allez sur cette page : > http://www.cactuspro.com/encyclo/liste_botanistes > Cliquez sur un nom qui contient un caractère accentué : ça marche avec > Firefox, mais pas avec ie.
Je viens de tester. Mozilla Firefox est quand même bien plus rusé que IE... Il se pourrait qu'un encodage différent trompe IE : quand je clique sur le lien de Eugène Jean Drouhard, l'accent se met bien dans l'URL, mais doit être mal interprété par le serveur web en face car transmise dans un encodage pas compatible avec celui du serveur web. J'en veux pour preuve l'interprétation du résultat : "Drouhard, Eugène-Jean" Typiquement, ca correspond à de l'UTF8 affiché en ISO8859-1, ou l'inverse. C'est pour ca qu'il me semble que le W3C recommande la notation à base de %xx pour tous les caractères non ASCII. Firefox fait la conversion à la volée... > > J'ai plein de questions maitenant : > Pourquoi une telle différence de comportement ? D'un côté le navigateur respecte la norme, de l'autre, on compile les effets de bord. J'ai fait mon choix ! > Et comment régler ce problème ? > > La première idée, c'est de faire des URL sans accents. ça je > sais faire. Probablement la solution la plus simple (et du coup la meilleure à mon avis. Par contre, ca implique peut-être de changer le schéma de ta base de donnée pour inclure la chaine de caractère convertie sans accents en vue de la création d'un index efficace. > La 2ème, c'est être capable de récupérer les bonnes infos de la > requète http faite par IE. Avec du urldecode ou autre fonction PHP > peut-être ? Hum... Bof, ca fait un cas particulier pour un browser dont on ne maitrise ni le comportement actuel ni le comportement futur. Beaucoup d'effort pour pas grand chose je pense. Et puis ca risque de demander du "parsing" un peu complexe à écrire et à maintenir. Il vaut ptet mieux pas mettre les effets de bord chez toi. Laisse les dans le navigateur :) > Quelle solution serait la meilleure ? Wikipedia fait des urls avec > accents, mais est-ce bien ? Marrant, quand je demande sous IE une définition wikipédia de Eugène, l'URL ressemble un peu à ce que j'ai cité plus haut : http://fr.wikipedia.org/wiki/Eugène Comme quoi, il y a un jonglage avec les encodages qui renforce la confusion générale. A mon avis, mieux vaut proscrire les accents ou passer en notation %xx. > Il est prévu dans quelques temps d'autoriser les urls avec des *vrais* > caractères accentués dedans, et pas du %xx comme %E8 pour è. Faut-il > déjà s'y mettre pour ne pas avoir à changer plus tard ? Si la norme évolue, combien de temps mettra IE pour s'y conformer ? Je ne parirai pas là dessus ! A bientôt Yann Flow Diffusez cette liste aupres de vos relations :) Linux Azur : http://linux-azur.org Se desabonner : http://linux-azur.org/liste.php3 *** Pas de message SMS, HTML ni de PJ SVP ***
