Aur?e 0 Posté(e) le 5 septembre 2006 Partager Posté(e) le 5 septembre 2006 Bonjour, J'ai un souci pour encoder des urls. Selon la fonctionnalité, nous passons soit par de javascript soit par du java. Pour encoder mon url lorsque je suis en javascript je passe par la méthode escape() : ex. : escape("été") => %E9t%E9 Pour encoder mon url lorsque je suis en java je passe par la méthode URLEncoder.encode() : ex. : URLEncoder.encode("été","UTF-8") => %C3%A9t%C3%A9 L'encodage est totalement différent :? Pour les 2 cas, l'étape finale est la même, c'est un code en java : URLDecoder.decode(chaine,"UTF-8") Et le décodage est ok pour l'url qui a été passée en java et ko pour le javascript. J'ai essayé de remplacer la méthode escape() par encodeURIComponent() et à première vue j'obtiendrai la même chose que la méthode URLEncoder.encode("été","UTF-8") en java. Connaissez vous la cause de cette différence d'encodage? En plus, j'aurai préféré prendre le problème dans l'autre sens et plutôt trouver une méthode java qui serait l'équivalent d'escape() ? Ceci pour des raisons d'impacts "moins nombreux", en connaissez vous une ? Merci d'avance pour votre aide Lien à poster
christophe 0 Posté(e) le 5 septembre 2006 Partager Posté(e) le 5 septembre 2006 La raison est en fait simple : - %E9t%E9 me semble être le résultat pour de l'ISO-8859-1 ou ISO-8859-15. Si tu utilises URLEncoder.encode avec le bon encodage ou si tu fournis ton rendu HTML en UTF-8, ça ira sûrement mieux. Lien à poster
Aur?e 0 Posté(e) le 5 septembre 2006 Auteur Partager Posté(e) le 5 septembre 2006 Exact, le paramétre serveur est ISO-8859-1! En modifiant, l'encodage de la méthode java, ça marche nickel Merci buffenc ! Lien à poster
christophe 0 Posté(e) le 6 septembre 2006 Partager Posté(e) le 6 septembre 2006 Avec plaisir Lien à poster
Messages recommandés