IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Développement Web en Java Discussion :

Caractères spéciaux dans les paramètres d'URL


Sujet :

Développement Web en Java

  1. #1
    Membre confirmé
    Inscrit en
    Janvier 2006
    Messages
    139
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 139
    Par défaut Caractères spéciaux dans les paramètres d'URL
    Bonjour,

    je travaille sur des jsp avec un CMS et j'ai un problème concernant l'encodage d'un paramètre.

    En effet un site A utilise une url comme iframe par exemple toto.com?mot=r%E8servation

    Moi je travaille sur l'url utilisé pour une iframe.

    Ceux qui appellent l'url encode le paramètre mot en hexadécimal et je dois l'utiliser pour l'afficher sur la page.

    Dans la jsp, j'utilise le code suivant

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
     
    <c:set var="mot" value="${param.mot}" />
     
    <%
    String mot = (String)pageContext.getAttribute("mot");
     
    if (mot != null && mot.length() > 0) {
      System.out.println(mot);
      pageContext.setAttribute("mot", org.apache.commons.codec.binary.Hex. 	decodeHex (mot.toCharArray());
    }
    %>
    Le system.out m'affiche r?servation et la classe Hex quand j'utilise decodeHex me provoque une exception de type error odd character.

    Voici l'erreur exacte :
    org.apache.commons.codec.DecoderException: Odd number of characters.



    Pour info, je suis en java 1.5 sur du tomcat.


    J'aimerais pouvoir afficher réservation pour l'utiliser dans une recherche à une requête où je pourrais l'encoder en utf-8 mais l'encodage en utf-8 n'est pas le problème.

    Je suis complétement perdu

    Si je comprends bien, r%E8servation a été décodé en r?servation quand j'utilise le request.getParameter

    Est-ce qu'il ne faut pas réencoder en utf-8 le contenu du getParameter pour avoir le %E8 et utiliser le decodeHex?

    Merci

  2. #2
    Membre confirmé
    Inscrit en
    Janvier 2006
    Messages
    139
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 139
    Par défaut
    Je m'excuse pour la double édition.

    J'ai fait un URLDecoder avec divers encodage UTF-8, ISO ...., Windows-1252 et je retrouve toujours le ?
    J'obtiens toujours à l'affichage r�servation

    J'utilise le code suivant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    //out.print(java.net.URLDecoder.decode(tou,"ISO-8859-1"));
    								//out.print(java.net.URLDecoder.decode(tou,"UTF-8"));
    								out.print(java.net.URLDecoder.decode(tou,"Windows-1252"));
    								out.print(java.net.URLEncoder.encode(tou,"Windows-1252"));
    								//out.print(java.net.URLEncoder.encode(tou,"UTF-8"));
    et rien ne change

    Quand je fais un decode, j'obtiens toujours le ? et quand j'encode la paramètre, il transforme le ? en %3F qui est son codage.

    Comment faire pour récupérer le bon encodage et surtout la bonne valeur ?

    Est-ce qu'il est impossible si quelqu'un encode son paramètre d'url en hexa et qu'on le récupère de le retrouver avec le bon encodage ?

    Si cela est impossible, vaut-il mieux que celui qui envoie le paramètre mette le bon encodage afin que je n'ai plus de problèmes de mon côté?

    Encore une fois désolé pour le double post. C'était juste pour ne pas alourdir le post et qu'on puisse mieux comprendre mon problème.

Discussions similaires

  1. Réponses: 7
    Dernier message: 21/08/2008, 10h57
  2. [Mail] caractères spéciaux dans les headers
    Par Atharendil dans le forum Langage
    Réponses: 2
    Dernier message: 15/07/2008, 13h39
  3. Caractère spéciaux dans les requêtes SQL
    Par Thundara dans le forum SGBD
    Réponses: 3
    Dernier message: 17/04/2008, 11h15
  4. Caractères spéciaux dans les noms de variables POST
    Par guidav dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 03/09/2007, 13h36

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo