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 :

Unicode ne passe pas


Sujet :

Servlets/JSP Java

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

    Informations forums :
    Inscription : Juin 2005
    Messages : 110
    Par défaut Unicode ne passe pas
    Bonjour,

    Je travaille sur une appli pour la chine actuellement, qui sera sans douote ensuite utilisee dand plusieurs autres pays asiatiques. Mon appli est en fait un menu dynamique pour l'utilisateur.

    Il faudrait donc que lutilisateur puisse afficher dans la langue du pays ou en anglais. Je n'entre pas plus dans les details, mais j'ai donc creer un champ nom_local qui est definit utf-8. Toutes mes pages jsp sont aussi encoding utf8.

    Lorsaue j'entre directement du chinois dans ma base a travers mySQL QueryBrowser, ca fonctionne, donc mon champs est bien unicode.

    Par contre lorsque je rentre du chinois a partir de ma page jsp, ca ne fonctionne pas.

    Quelqu'un aurait-il une idee du probleme ? Ou encore une idee pour trouver le bug parce que la je seche.

    Merci

  2. #2
    zag
    zag est déconnecté
    Membre éclairé

    Profil pro
    Inscrit en
    Mars 2005
    Messages
    58
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 58
    Par défaut
    Bonjour,

    je ne connais pas mySQL QueryBrowser (et pas trop mysql ), mais je dirai a vue de nez, que ce probleme d'encoding à partir de ton appli web vient du jdbc.
    Il faudrait donc que tu essayes de forcer l'encoding en utf-8...
    Il semblerait qu'on puisse faire cela dans l'url de connexion genre: jdbc:mysql://localhost/some_db?useUnicode=yes&characterEncoding=UTF-8

    Pour plus d'info, regarde par là :
    http://dev.mysql.com/doc/refman/5.0/...-charsets.html

    ca pourra peut être t'aider...

  3. #3
    Membre confirmé
    Inscrit en
    Juin 2005
    Messages
    110
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Juin 2005
    Messages : 110
    Par défaut
    Merci pour ta reponse.

    Mais j'ai localise mon pb ailleurs. Meme avant d'envoyer a ma base ma variable est corrompue. En fait c quand elle passe d'une page a l'autre.

    J'ai donc fait des tests et j'ai reussi a passer du chinois d'une page a l'autre en mettant cette ligne sur mes deux pages :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    request.setCharacterEncoding("UTF-8");
    Mais le pb c'est que en mon formulaire contient aussi un input file que je veux uploader, donc je n'utilise pas l'objet request, je passe par smartUpload.

    Dans mon test il suffit que j'ajoute cette ligne et ca ne fonctionne plus, je suis dans l'impasse:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <jsp:useBean id="mySmartUpload" scope="page" class="com.jspsmart.upload.SmartUpload" />
    bien sur j'ai essaye de recuprer ma variable request avant de declarer ca
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    mySmartUpload.initialize(pageContext);
    mySmartUpload.upload();
    Mais ca ne focnctionne pas, j'ai meme essaye de bouger l'import de la classe.

    Rien ne marche !!

  4. #4
    Membre confirmé
    Inscrit en
    Juin 2005
    Messages
    110
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Juin 2005
    Messages : 110
    Par défaut
    J'ai resolu le pb en bricolant un truc dans le javascript. je m'etais rendu compte qu'un de mes variables passait par la request, celle que je passais par l'url.

    C'est sans doute pour ca que je la passais par l'url d'ailleurs.

    Donc voila ce que j'ai rajoute sur l'evenement onclick de mon formulaire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    document.addFile.action+="&local=";
    document.addFile.action+=document.addFile.local.value;
    Je n'y croyais pas du tout en ecivant ca mais ca fonctionne.

    Bon maintenant g effectivement un pb pour envoyer vers ma base MySQL. J'ai essaye le bout de code que tu m'as propose zag mais j'obtiens une java null pointer exception je ne sais pas pourquoi, je vais decoriquer ma classe de connection mais voila ma ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    String connectionString="jdbc:mysql://"+mysqlServer+mysqlPort+"/"+mysqlSchema+"?user="+mysqlUser+"&password="+mysqlPwd+"&useUnicode=yes&characterEncoding=UTF-8;

Discussions similaires

  1. [encodage] Unicode ne sait pas lire unicode...
    Par Mr Hyde dans le forum Bibliothèques tierces
    Réponses: 10
    Dernier message: 01/12/2005, 15h32
  2. ADO et access, ça passe pas.
    Par maximdus dans le forum Bases de données
    Réponses: 4
    Dernier message: 19/09/2005, 22h38
  3. Requête qui ne passe pas
    Par TheBart dans le forum Langage SQL
    Réponses: 2
    Dernier message: 10/08/2005, 10h12
  4. Envoi de mail [Hotmail : OK ; Wanadoo : Passe pas]
    Par NeoMan dans le forum Réseau
    Réponses: 14
    Dernier message: 28/07/2005, 10h52
  5. Sujet du mailto quine passe pas...
    Par Gourouni dans le forum ASP
    Réponses: 6
    Dernier message: 21/01/2005, 15h57

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