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

Struts 2 Java Discussion :

Accent dans un post


Sujet :

Struts 2 Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    92
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 92
    Par défaut Accent dans un post
    Bonjour,

    J'ai un formulaire qui remonte au niveau de mon Action des données. Lorsque je saisi des informations comportant des accents au niveau du formulaire ces derniers ne sont pas remontés jusqu'à l'action. Pourtant j'ai (je pense) correctement fixé les encodages....

    Surtout que quand je pré-saisi mes champs depuis l'Action précédentes avec des données comportant des accents, ces derniers arrivent bien jusqu'à la JSP. Mais sont "perdus" au niveau du post du formulaire.

    Voici ma JSP :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    <%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%>
    <%@ taglib prefix="s" uri="/struts-tags" %>
     
    <html>
    <head>
    	<title>Mon appli</title>
    	<meta content="text/html; charset=iso-8859-1" http-equiv="Content-Type"/>
    	<meta content="text/css" http-equiv="Content-style-type"/>
    	<meta content="fr" http-equiv="Content-language"/>
    	<link href="<s:url value="/css/appli.css"/>"  media="screen" type="text/css" rel="stylesheet" />
    </head>
    <body>
     
    <s:form action="doSendMailLitige" method="POST" validate="true" cssClass="formDetailInfos" >
    	<s:textfield name="email.expediteur" label="De " cssClass="mail" readonly="true" />
    	<s:textfield name="email.destinataire" label="A " cssClass="mail" readonly="false" />
    	<s:textfield name="email.objet" label="Objet " cssClass="mail" />
    	<s:textarea name="email.message" label="Message " cssClass="mail" />
    	<s:submit value="Envoyer" align="center" />
    </s:form>
    </body>
    </html>
    Des idées, des suggestions ??

  2. #2
    Membre averti
    Inscrit en
    Septembre 2006
    Messages
    60
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 60
    Par défaut
    C'est pas assez précis. Tes accents sont mal convertis ou il disparaissent ? as-tu regardé ce qu'il y a dans la base ?

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    92
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 92
    Par défaut
    Citation Envoyé par jreeman Voir le message
    C'est pas assez précis. Tes accents sont mal convertis ou il disparaissent ? as-tu regardé ce qu'il y a dans la base ?
    Ils sont convertis.
    Et ce ne sont pas des infos de base de données mais des informations saisies par l'utilisateur de l'application.
    Dans un <s:textfield> si l'utilisateur saisi une information comportant un accent (ou un caractère spécial ç ou autre de la langue française), lorsque ce formulaire est soumis vers une Action via une méthode POST alors dans l'Action je n'ai pas l'accent mais un ? à la place. (pour vérifier je loggue direct les valeurs et mon logguer gère bien les accents car j'ai par ailleurs à logguer des valeurs venant de la base de données vers la partie IHM et c'est ok dans ce sens).

  4. #4
    Membre averti
    Inscrit en
    Septembre 2006
    Messages
    60
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 60
    Par défaut
    Citation Envoyé par kiwwi209 Voir le message
    Ils sont convertis.
    Et ce ne sont pas des infos de base de données mais des informations saisies par l'utilisateur de l'application.
    Dans un <s:textfield> si l'utilisateur saisi une information comportant un accent (ou un caractère spécial ç ou autre de la langue française), lorsque ce formulaire est soumis vers une Action via une méthode POST alors dans l'Action je n'ai pas l'accent mais un ? à la place. (pour vérifier je loggue direct les valeurs et mon logguer gère bien les accents car j'ai par ailleurs à logguer des valeurs venant de la base de données vers la partie IHM et c'est ok dans ce sens).
    c'est curieux, tu es dans un environnement Windows ou linux ? Quel est l'encoding par défaut de ta JVM (variable système file.encoding) ? as-tu vérifier en direct dans quel encoding sont envoyées les données ? Est-ce que tu n'aurais pas un filter dans ton application qui change l'encoding de la request (tu peux le faire avec des extensions firefox) , quelque chose comme :

    request.setCharacterEncoding(...);

    ?

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    92
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 92
    Par défaut
    Citation Envoyé par jreeman Voir le message
    c'est curieux, tu es dans un environnement Windows ou linux ? Quel est l'encoding par défaut de ta JVM (variable système file.encoding) ? as-tu vérifier en direct dans quel encoding sont envoyées les données ? Est-ce que tu n'aurais pas un filter dans ton application qui change l'encoding de la request (tu peux le faire avec des extensions firefox) , quelque chose comme :

    request.setCharacterEncoding(...);

    ?
    Je suis sous Windows pour le développement et la recette est sous Linux (Red Hat), et le comble c'est que j'ai le soucis dans les 2 environnements

    Et je n'ai pas de filter dans mon application puisque je la "start form scratch" donc 100% du code sort de ma petite tête là...

    Pas idiot de vérifier l'encoding de la JVM ! Comment vérifier, je te cite, "en direct dans quel encoding sont envoyées les données ?"

    Merci de ton aide en tous cas !

  6. #6
    Membre averti
    Inscrit en
    Septembre 2006
    Messages
    60
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 60
    Par défaut
    Citation Envoyé par kiwwi209 Voir le message
    en direct dans quel encoding sont envoyées les données ?"
    Je crois pas que ton problème vienne de là, je parierais plutôt sur l'encoding de ta JVM mais si tu veux, tu as l'extension "Live HTTP Headers" installe là dans firefox et tu pourras voir entièrement ta requête passée (les headers, et les données aussi je crois).

    Sinon j'ai du mal à voir où est ton problème, l'ISO8859-1 est l'encoding par défaut de http. C'est plutôt quand on veut être en UTF-8 (conseillé) qu'il faut faire quelque chose normalement. Regarde ici ca te donnera peut-être des idées pour te débloquer : http://wiki.apache.org/tomcat/Tomcat/UTF-8.

Discussions similaires

  1. problème accents dans post de page jsf
    Par ktaria dans le forum JSF
    Réponses: 0
    Dernier message: 08/01/2013, 15h13
  2. [FLASH MX2004] Problème accent dans un XML
    Par cinetryx dans le forum Flash
    Réponses: 10
    Dernier message: 30/05/2007, 00h26
  3. Accents dans une console windows
    Par JolyLoic dans le forum Windows
    Réponses: 8
    Dernier message: 20/10/2004, 00h57
  4. Réponses: 5
    Dernier message: 08/03/2004, 10h28
  5. Table Access et Accents dans TDBGrid
    Par puzpuz_vannes dans le forum Bases de données
    Réponses: 3
    Dernier message: 13/11/2003, 22h23

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