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

Servlets/JSP Java Discussion :

Objet request ne voit pas utf8


Sujet :

Servlets/JSP Java

  1. #1
    Membre du Club
    Inscrit en
    Juin 2005
    Messages
    110
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Juin 2005
    Messages : 110
    Points : 68
    Points
    68
    Par défaut Objet request ne voit pas utf8
    Bonjour,

    je travaille sur une application multilingue ou certains champs doivent etre remplis en chinois ou autres langues asiat.

    J'ai rencontre de nombreux problemes avant d'arriver a une version ue je pensais stable. Mais depuis hier je constate un pb uniquement sur le serveur. Alors que tout fonctionnait, le chinois ne passe plus.

    Dans ma page de formulaire je l'envoie sans soucis (par l'url car dans le form impossible a cause d'un upload). Ensuite dans ma page de traitements je l'affiche. Sur mon post la variable est bien en chinois dans l'url, et bien en chinois quand je l'affiche. Par contre sur le serveur, c bon dans l'url mais pas quand j'affiche.

    Sachant que je n'ai rien touche a ce code entre temps, je me demande d'ou peut venir ce probleme.

    Vici un bout de code, d'ou le probleme semble venir:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    request.setCharacterEncoding("UTF-8");
    String local="";
    if (request.getParameter("local")!=null){
        local=request.getParameter("local");
    	out.println("valeur de local : "+local);
    }
    je force l'encoding utf-8 pour l'objet request et je recupere ma variable, qui ets bien chinois dans l'url.
    mon out.println me renvoie du code miteux.

    Je precise une fois de plus que ce code fonctionne parfaitement sur ma machine. Donc l'objet request fonctionne differemment sur les deux machines (et seulement depuis hier soir). Quelqu'un a-t-il une idee ?

    Merci !

  2. #2
    Membre du Club
    Inscrit en
    Juin 2005
    Messages
    110
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Juin 2005
    Messages : 110
    Points : 68
    Points
    68
    Par défaut
    Reponse partielle :

    j'ai change ca : request.getParameter("local");

    pour ca :
    new String(request.getParameter("local").getBytes("8859_1"),"UTF-8");

    Maintenant ca marche sur le serveur mais sur ma machine j'obtiens un ? par caractere chinois. L'essentiel c que ca marche sur le serveur.

    Mais bon si qq'un trouve quand meme pourquoi ca ne fonctionne pas sur ma machine et aussi pourquoi ca fonctionnait avant sur le serveur et plus maintenant.

    merci.

  3. #3
    Membre chevronné
    Homme Profil pro
    Directeur technique
    Inscrit en
    Janvier 2007
    Messages
    1 348
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 348
    Points : 1 787
    Points
    1 787
    Par défaut
    J'ai potentiellement une réponse... Ton serveur ne serait pas un serveur tomcat et tu ne l'aurais pas upgradé récemment ?
    A partir de la 4.1.24 (à vérifier je ne suis plus sûr du numéro de version) Tomcat a changé la manière de gérer l'encoding dans les url.
    Les vieilles version de Tomcat se basent sur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    request.getEncoding()
    alors que les récentes se basent sur le fichier server.xml (voir paramètre URIEncoding)

Discussions similaires

  1. Demarer un vieil IBM qui ne voit pas le cdrom
    Par jean christophe dans le forum Ordinateurs
    Réponses: 2
    Dernier message: 14/04/2005, 08h37
  2. Erreur Objet requis : 'this' --> Comprend pas!!
    Par Grozeil dans le forum ASP
    Réponses: 3
    Dernier message: 30/03/2005, 09h46
  3. [servlet][bean]comment récupérer l'objet request
    Par otminou dans le forum Servlets/JSP
    Réponses: 3
    Dernier message: 27/09/2004, 14h40
  4. [Debutant(e)]Eclipse ne voit pas les sources
    Par uliss dans le forum Eclipse Java
    Réponses: 3
    Dernier message: 04/08/2004, 09h34
  5. Réponses: 6
    Dernier message: 03/09/2003, 10h29

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