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

  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.

  7. #7
    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
    Ok merci du conseil, mais j'pourrais pas regarder ça avant quelques jours car je pars demain en vacances

    Citation Envoyé par jreeman Voir le message

    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.
    Il me semble avoir lu quelque part que justement Struts 2 est par défaut en UTF-8 et que du coup quand on veut en sortir c'est un peu la misère... Sauf que ma base de données est en ISO8859-1 elle...

    Je te tiens au courant de la suite dès que je m'y recolle, en tous cas merci beaucoup j'ai déjà plusieurs pistes de réflexion grâce à toi !!

  8. #8
    Membre averti
    Inscrit en
    Septembre 2006
    Messages
    60
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 60
    Par défaut
    ok merci.

  9. #9
    Membre chevronné Avatar de ruscov
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Mars 2007
    Messages
    347
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Belgique

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Mars 2007
    Messages : 347
    Par défaut
    Je rejoins l'idée des autres. A mon avis, ton serveur n'est pas en UTF-8 et pour Struts 2, il me semble que tu dois spécifier dans le struts.properties que tu travailles en UTF-8.

  10. #10
    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 ruscov Voir le message
    Je rejoins l'idée des autres. A mon avis, ton serveur n'est pas en UTF-8 et pour Struts 2, il me semble que tu dois spécifier dans le struts.properties que tu travailles en UTF-8.
    Bonjour,

    Merci pour vos pistes, je regardes ça demain. Juste une précision, je ne cherches pas à être en UTF-8 mais en ISO-8859-1 car c'est l'encodage de ma base de données (qui est alimentée par ailleurs).

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