5545 sujets

Sémantique web et HTML

Quand je met un accent (é) dans une URL, Firefox l'affiche, mais pas Opera.

Les accents et espaces dans les URL sont autorisés ?
SpaceCowboy a écrit :
Les accents et espaces dans les URL sont autorisés ?

Si je tapes l'adresse suivante :
http://fr.wikipedia.org/wiki/Été
- IE7, Opera 9 et Konqueror 3.5 gardent l'URL telle quelle.
- Firefox 2.0 me transforme ça ainsi :
http://fr.wikipedia.org/wiki/%C3%89t%C3%A9

Dans un cas comme dans l'autre, il me semble que le navigateur envoie une requête avec URL en ASCII uniquement, donc pour les caractères spéciaux il doit réaliser une traduction proche de celle affichée par Firefox, mais sans forcément la montrer à l'utilisateur.

Après une rapide recherche, j'ai trouvé ceci :
RFC 1738 a écrit :

In addition, octets may be encoded by a character triplet consisting
of the character "%" followed by the two hexadecimal digits (from
"0123456789ABCDEF") which forming the hexadecimal value of the octet.
(The characters "abcdef" may also be used in hexadecimal encodings.)

Octets must be encoded if they have no corresponding graphic
character within the US-ASCII coded character set, if the use of the
corresponding character is unsafe, or if the corresponding character
is reserved for some other interpretation within the particular URL
scheme.

No corresponding graphic US-ASCII:

URLs are written only with the graphic printable characters of the
US-ASCII coded character set. The octets 80-FF hexadecimal are not
used in US-ASCII, and the octets 00-1F and 7F hexadecimal represent
control characters; these must be encoded.

(Source : http://www.ietf.org/rfc/rfc1738.txt )

Une traduction en français ici :
http://abcdrfc.free.fr/rfc-vf/rfc1738.htm
Il y a un truc à faire gaffe avec les accents dans les URL, c'est l'encodage... par défaut je crois que les URL sont toujours encodés en UTF8 mais c'est vrai que parfois ça peut porter à confusion.
a écrit :
Pas de correspondant graphique en US-ASCII :

Les URL sont seulement écrits avec les caractères graphiques imprimables de l’ensemble de caractères codés de l’US-ASCII. Les octets hexadécimaux 80-FF ne sont pas utilisés en US-ASCII, et les octets hexadécimaux 00-1F et 7F représentent des caractères de contrôle ; ils doivent être codés.

Après 5 mins au hasard
http://fr3.php.net/manual/fr/function.urlencode.php

Il n'existe pas une méthode pour tout envoyer dans ce format la ? je vais devoir changer toute les urls ...
Cas concret : http://dd.free.fr/index.php?p=5&galerie=52
J'ai essayé plusieurs facon, mais elles posent toutes un problème.
Avec urlencode() les espaces sont remplacé par des "+", ce qui n'arrange pas les chose.
Je ne peut pas changer l'encodage de la page, c'est sur un serveur Free.

Firefox le fait tout seul, mais pas Opera, lequel à raison de le faire ou de ne pas le faire ?
Modifié par SpaceCowboy (20 Aug 2009 - 10:42)
SpaceCowboy a écrit :
Firefox le fait tout seul, mais pas Opera, lequel à raison de le faire ou de ne pas le faire ?

À mon avis, les deux le font. Mais seul Firefox l'affiche.
je ne vois pas bien l'intéret d'un affichage comme ça

http://fr.wikipedia.org/wiki/%C3%89t%C3%A9

dans la barre d'addresse?

Si j'ai envie de retaper cette adresse ça va etre galère et ma mémoire de toute façon déjà là refuse de la mémoriser.

A moins que ce soit l'effet rechercher?



quand a utiliser des accents dans tes noms de fichiers ou de repertoires.

attention!

même si tu es actuellement sur un serveur qui accepte la chose,
c'est loin d'être le cas de tous les serveurs.
Modifié par CPascal (06 May 2007 - 12:22)
CNeo a écrit :
L'intérêt c'est de pouvoir faire copier-coller dans IE6 qui, il me semble, ne fait pas la conversion. Smiley cligne


Euh testé sous IE6/7 et ça fonctionne c/c du lien de CPascal.

Pour ce qui est de firefox, lorsque l'on survol le lien, il nous affiche clairement le mot été, par contre dans l'url il encode le mot été.

C'est surement soir : une volonté de la Moz Firefox de laisser l'url encoder (ce qui est embêtant lorsque l'on veut la retenir) ou soit un oublie de jeunesse.

Mais en même temps, pourquoi utiliser des accents dans l'url ? J'ai toujours apris (par rapport à unix) qu'il ne faut pas utiliser les accents, et les caractères spéciaux pour les nom de dossiers, fichiers.

Donc en tant normal nous n'aurions pas besoin de s'en préoccuper Smiley biggol
Autant pour moi il me semblait, et je ne sais pas pourquoi, que quand on rentrait des accents dans IE6 ça ne fonctionnait pas enfin toujours est-il que IE6 laisse l'URL encodée également.
Modifié par CNeo (06 May 2007 - 14:05)
Normalement non, mais je passe dans l'url des paramètre qui servent à créer une requête SQL, ces paramètre contiennent des accents.


Les %XX n'apparaissent que dans l'URL sous Firefix, au survol du lien, ils n'y sont pas.
Je constate juste que Opera n'arrive pas à afficher des images avec un chemin qui contient un caractère spécial et firefox si.
J'en déduit que c'est dus à ca, car si je fait urlencode() sur un mot avec un accent, Opera l'affiche correctement.

Malheureusment, cette fonction affiche des + dans l'url à la place des espaces, Firefox lui met un %XX ...


Conclusion, pour moi la meilleur méthode est, quand on écrit une URL de mettre des %XX pour être reconnus par Opera et Firefox (On s'en fiche de IE).
URL fonctionne sur les accents, pas sur les espaces, et je cherche un moyen de le faire sur les deux.
a écrit :
Je ne peut pas changer l'encodage de la page, c'est sur un serveur Free.

Ce n'est pas lié. Il suffit d'un simple header en php en début de page et c'est dans le sac.

Super_baloo8 a écrit :

Mais en même temps, pourquoi utiliser des accents dans l'url ? J'ai toujours apris (par rapport à unix) qu'il ne faut pas utiliser les accents, et les caractères spéciaux pour les nom de dossiers, fichiers.

Il ne s'agit le plus souvent pas de fichier ou de dossier, mais de paramètres, avec utilisation de l'URL-rewriting comme wikipedia (Rappel : fr.wikipedia.org/wiki/n'importe quoi lance la recherche automatiquement) ou pas (paramètres GET brut).
Par ailleurs, c'est déconseillé mais pas interdit. Dans les premières versions de mon site, j'avais des fichiers avec des lettres accentuées et ça fonctionnait très bien. IL faut juste faire gaffe à l'encodage et au nom du fichier.
hello,
je voyage pas mal et d'un clavier à l'autre je n'ai pas toujours les accents. Donc ce n'est pas pratique pour surfer sur ce genre de site Smiley lol