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 :

Encoder une exception UTF-8 en ISO-8859-1


Sujet :

Servlets/JSP Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Février 2008
    Messages
    37
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 37
    Par défaut Encoder une exception UTF-8 en ISO-8859-1
    Bonjour à vous,

    Voilà, j'ai une exception que j'ai créé moi-même. Lorsqu'elle est capturée, je l'envoie jusqu'à ma page JSP où je l'affiche ensuite.
    Le problème c'est l'encodage... Soit ça m'affiche du UTF-8 si je ne fais rien, et si j'essaie de convertir en ISO, ça m'affiche des ?? à la place des accents... Comment faire ?

    Voici le code de capture
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    if (checkParam(hwb) == false) {
    			String listError = new String(errorList.getBytes(),"ISO-8859-1");
    		//	String listError = new String(errorList.getBytes("UTF-8"),"ISO-8859-1");
    		//	String listError = new String(errorList.getBytes("UTF-16"),"ISO-8859-1");
    			throw new SurveyConvertXLS2XMLException(listError);
    		}
    Dans ma servlet
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    catch (Exception e) {
    				String error = e.getMessage();
    				response.sendRedirect("../surveys/editSurveysEQE.jsp?error="
    						+ error);
    			}
    Et ma page JSP
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <%      
    if (request.getParameter("error") != null
                            && !request.getParameter("error").equals("")) {
                    String errorParam = request.getParameter("error");
                    error="<h1 id=\"tError\">Erreur(s) détectée(s)!</h1>\n"
                            +"<p id=\"pError\">"+ errorParam +"</p>";
     
            }
    %>
    J'ai essayé des conversions un peu partout sans grand succès...

    Merci d'avance !

  2. #2
    Membre émérite Avatar de Jidefix
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    742
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations forums :
    Inscription : Septembre 2006
    Messages : 742
    Par défaut
    Euh... moi si j'étais toi je toucherai pas à l'exception, par contre dans ma jsp je rajouterai
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <%@ page contentType="text/html; charset=ISO-8859-1"%>
    Au début de ma jsp...

  3. #3
    Membre averti
    Inscrit en
    Février 2008
    Messages
    37
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 37
    Par défaut
    Hello,

    Oui ça je l'ai déjà c'est bon...

    Merci de la réponse

  4. #4
    Expert éminent
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Billets dans le blog
    1
    Par défaut
    Salut,

    Ca veut dire quoi une exception UTF-8 ???

    Sinon c'est quoi ce code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    String listError = new String(errorList.getBytes(),"ISO-8859-1");
    Si errorList est une String alors ce code est complètement faux ! Les string sont toujours encodé en UTF-16 et ce n'est que lors de la lecture/écriture que la conversion est effectuée...


    a++

  5. #5
    Membre averti
    Inscrit en
    Février 2008
    Messages
    37
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 37
    Par défaut
    Hello,

    Ben en fait exception UTF-8 je voulais dire que je levais une exception et qu'à l'affichage j'obtenais du UTF-8.

    Oui errorList est un String, mais comme je te dis, j'ai essayé dans ma classe où j'ai capturé l'exception de changer l'encodage, comme tu vois là, je l'ai fait dans la servlet, je l'ai fait dans ma page JSP... Je sais plus trop où aller voir...

    Si je ne fais rien, j'obtiens du UTF-8. (si je mets l'encodage du navigateur en UTF-8, ça s'affiche correctement). Dès le moment où je change en ISO, peut importe où, j'ai des ? à la place de mes accents.

    Merci

    Alan

  6. #6
    Expert éminent
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Billets dans le blog
    1
    Par défaut
    Il suffit de spécifier l'encodage de ta page de sortie, et de ne surtout jamais faire quelque chose dans ce genre là :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    String listError = new String(errorList.getBytes(),"ISO-8859-1");
    C'est complètement faux et généralement source de problème.


    Si errorList ne s'affiche pas correctement, cela signifie qu'il est mal construit à l'origine...

    D'où tu récupères le texte de errorList ?

    a++

Discussions similaires

  1. XML et Encoding : Passez de l'UTF-8 à l'ISO-8859-1
    Par aurell dans le forum Windows Forms
    Réponses: 10
    Dernier message: 11/12/2009, 16h25
  2. Convertir une chaine UTF-8 en ISO-8859-1
    Par gargantua dans le forum Général Java
    Réponses: 4
    Dernier message: 31/03/2009, 15h48
  3. UTF-8 to ISO-8859-1
    Par iso9mix dans le forum Entrée/Sortie
    Réponses: 2
    Dernier message: 04/01/2008, 13h38
  4. Encodage : Conversion UTF-8 vers ISO-8859-?
    Par polo54 dans le forum Général Java
    Réponses: 6
    Dernier message: 26/06/2007, 19h10
  5. encodage UTF-8 vers ISO-8859-1
    Par taouja dans le forum Format d'échange (XML, JSON...)
    Réponses: 2
    Dernier message: 13/04/2007, 11h03

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