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 :

Affichage de caractère spéciaux dans ma page JSP


Sujet :

Servlets/JSP Java

  1. #1
    Membre confirmé
    Inscrit en
    Juin 2008
    Messages
    52
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 52
    Par défaut Affichage de caractère spéciaux dans ma page JSP
    Bonjour,

    Dans ma page jsp, je fais appel à des classes java (Employe.java, etc...) pour manipuler des objets et ainsi faire apparaitre leur attributs dans la page jsp.. (genre nom, prénom, fonction, etc...)

    Cependant, mes classes java font appel a des web services qui lisent les données a partir d'une base de données distante SQL Server pour remplir les attributs de mon objet 'Employe'..

    Maintenant, lors de l'affichage de ma page JSP, les attributs qui possèdent des accents (ex : secrétaire, ingénieur...) s'affiche erronés.. mais les autres mots sans accents s'affichent correctement..
    Le plus bizarre, c'est que lorsque je commente l'appel aux webservices dans ma classe et que je code des MOCK dans la classe avec des accents pour les attributs, les accents s'affichent correctement..


    Pourriez vous m'éclairer sur ce problème ?

    Je vous remercie pour votre aide

  2. #2
    Membre éprouvé Avatar de bygui
    Homme Profil pro
    PLM/ALM
    Inscrit en
    Avril 2006
    Messages
    133
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : PLM/ALM
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 133
    Par défaut
    Ta JSP doit généré une page HTML qui n'est pas dans le bon codage de caractères (UTF-8). Ca peux venir d'un oublie dans ta page ou de la configuration TOMCAT.
    Pour resoudre l'oublie il suffit d'ajouter:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
    et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <%@ page pageEncoding="UTF-8" contentType="text/html; charset=UTF-8" %>
    Ensuite bien fournir les requetes en UTF-8 (pour un formulaire):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    request.setCharacterEncoding("UTF-8");

  3. #3
    Membre confirmé
    Inscrit en
    Juin 2008
    Messages
    52
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 52
    Par défaut
    Je vous remercie pour votre réponse mais le problème persiste, j'obtiens des affichages erronés (ex : Secrétaire )

    Je pense que le problème est lié a Tomcat 6.0 ?

  4. #4
    Membre éprouvé Avatar de bygui
    Homme Profil pro
    PLM/ALM
    Inscrit en
    Avril 2006
    Messages
    133
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : PLM/ALM
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 133
    Par défaut
    il te reste aussi la solution que j'ai utilisé:

    Créé une méthode HTMLEncode/Decode en javascript/java qui transformera chacun de tes caractères spéciaux en son code HTML.

    Tu trouveras de nombreux exemple de ces deux méthodes sur le net, le problème étant largement connu.

  5. #5
    Membre confirmé
    Inscrit en
    Juin 2008
    Messages
    52
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 52
    Par défaut
    En fait, le problème vient du fait que l'encodage par défaut des pages JSP est "iso-8859-1"
    Donc je dois convertir les variables String "utf-8" que j'importe de la BD dans mon code java en "iso-8859-1" avant de les passer à ma page jsp..

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    new String(maChaine.toString().getBytes("utf-8"), "iso-8859-1");
    et après faire un appel à la variable dans ma page JSP.. les accents s'affichent alors correctement.

    Merci encore pour votre aide

  6. #6
    Invité de passage
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2012
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2012
    Messages : 1
    Par défaut simple solution
    il suffit d'ajouter le tag suivant en haut de page
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
    pour ma part ça marche bien ....

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [JFreeChart] affichage d'un graphe dans une page jsp
    Par mokhtarmaroc dans le forum Servlets/JSP
    Réponses: 8
    Dernier message: 08/09/2007, 23h13
  2. [HTML] [I.E.] Affichage de caractères spéciaux dans un select
    Par madtroll dans le forum Balisage (X)HTML et validation W3C
    Réponses: 11
    Dernier message: 18/05/2007, 17h50
  3. Réponses: 15
    Dernier message: 04/01/2007, 08h47
  4. [SQL] Problème d'affichage de caractère spéciaux dans une variable chaîne
    Par Kryptonaute dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 18/08/2006, 08h40
  5. Réponses: 10
    Dernier message: 31/03/2006, 20h46

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