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

JSF Java Discussion :

JSF2/PrimeFaces encoding UTF-8


Sujet :

JSF Java

  1. #1
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Avril 2011
    Messages
    100
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2011
    Messages : 100
    Par défaut JSF2/PrimeFaces encoding UTF-8
    Bonjour

    Je travaille sur une application web : JSF2 - primefaces, facelet spring et MySql
    lorsque je soumet le formulaire, tous mes accent se transforment en caractères bizarroïde président --> président

    j'ai le problème uniquement sur le texte saisi par l'utilisateur, mes libellés s'affichent correctement.

    j'ai ajouté un filtre mais ça n'a rien changé.

    ququn aurait une idée ??

    merci d'avance
    web.xml
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    	<filter>
    		<filter-name>characterEncoding</filter-name>
    		<filter-class>com.oppa.web.filtres.CharacterEncodingFilter</filter-class>		
    	</filter>
    	<filter-mapping>
    		<filter-name>characterEncoding</filter-name>
    		 <url-pattern>/*</url-pattern>
    	</filter-mapping>
    filtre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException,
                ServletException {
     
            response.setContentType("text/html; charset=UTF-8");
            response.setCharacterEncoding("UTF-8");
            chain.doFilter(request, response);
        }
    template.xhtml
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    <?xml version='1.0' encoding='UTF-8' ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
    	"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml"
    	xmlns:h="http://java.sun.com/jsf/html"
    	xmlns:f="http://java.sun.com/jsf/core"
    	xmlns:ui="http://java.sun.com/jsf/facelets"
    	xmlns:p="http://primefaces.org/ui">
    	<meta http-equiv="content-type" content="text/html; charset=utf-8"/>

    merci d'avance

  2. #2
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Février 2009
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2009
    Messages : 37
    Par défaut
    Bonjour,

    J'ai eu un problème similaire il y a quelques temps mais uniquement avec PrimeFace Push.
    J'ai du forcer l'encodage en UTF-8 sur tous les appels de l'application.
    Voici mon post avec la solution que j'ai utilisé: [PrimeFaces-Push] Problème d'encodage

    Ceci est la solution de dernier recours pour votre cas je pense.

    Pour trouver votre problème spécifique, pouvez-nous préciser votre IDE et serveur d'application?

    Cordialement,

  3. #3
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Avril 2011
    Messages
    100
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2011
    Messages : 100
    Par défaut
    Bonjour

    IDE: Eclipse indigo
    Serveur: Tomcat 7

    je déploie directement depuis eclipse:

    je n'ai pas encore testé la génération du war et le déploiement en dehors d eclipse

    merci pour votre aide.

  4. #4
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 313
    Billets dans le blog
    1
    Par défaut
    Dans ton filtre, mets
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    request.setCharacterEncoding("UTF-8");
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  5. #5
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Avril 2011
    Messages
    100
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2011
    Messages : 100
    Par défaut
    ça ne marche pas !!!

    j'ai presque tout testé....

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
      public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException,
                ServletException {
            response.setContentType("text/html; charset=UTF-8");
            response.setCharacterEncoding("UTF-8");
            request.setCharacterEncoding("UTF-8");
            chain.doFilter(request, response);
        }
    web.xml
    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
    23
     
    	<filter>
    		<filter-name>Spring Character Encoding Filter</filter-name>
    		<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
    		<init-param>
    			<param-name>encoding</param-name>
    			<param-value>UTF-8</param-value>
    		</init-param>
    		<init-param>
    			<param-name>forceEncoding</param-name>
    			<param-value>true</param-value>
    		</init-param>
    	</filter>
     
        <filter-mapping>
          <filter-name>Spring Character Encoding Filter</filter-name>
          <url-pattern>/*</url-pattern>
        </filter-mapping>
     
    	 <context-param>
            <param-name>javax.faces.CHARACTER_ENCODING_KEY</param-name>
            <param-value>utf-8</param-value>
        </context-param>

  6. #6
    Membre actif
    Profil pro
    Inscrit en
    Avril 2013
    Messages
    93
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2013
    Messages : 93
    Par défaut
    Essaye avec juste un charset en iso-8859-1 dans ta page

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <meta http-equiv="content-type" content="text/html; charset=iso-8859-1"/>

  7. #7
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Avril 2011
    Messages
    100
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2011
    Messages : 100
    Par défaut
    Je viens d avoir une piste mais je ne sais toujours pas comment resoudre le pb:

    mon problème c'est que j'ai besoin d'uploder des ficher et j ai mis enctype="multipart/form-data

    si je supprime le enctype, l'encodage fonctionne mais impossible d'uploader le fichier et inversement avec enctype l'upload fonctionne et l encodage est cassé

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
     
    <h:form id="idFormCentral2" enctype="multipart/form-data;charset=UTF-8">
     
    ...
     
    </h:form>

  8. #8
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Avril 2011
    Messages
    100
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2011
    Messages : 100
    Par défaut
    j'ai du mal à comprendre,
    sur le http://forum.primefaces.org/viewtopi...tart=10#p55630 on dit que c'est un bug primefaces et qui devait etre corrigé dans le version 3.2,
    moi je suis 3.4

    jsf-api-2.1.11.jar
    jsf-impl-2.1.11.jar
    primefaces-3.4.2.jar

    qqun a rencontré ce problème??

  9. #9
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Avril 2011
    Messages
    100
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2011
    Messages : 100
    Par défaut
    problème résolu en utilisant la derniere version du primefaces.

    merci a tous

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <dependency>
    	<groupId>org.primefaces</groupId>
    	<artifactId>primefaces</artifactId>
    	<version>4.0</version>
    </dependency>

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

Discussions similaires

  1. instruction pour xml Encoder utf-8
    Par totoche dans le forum ASP
    Réponses: 7
    Dernier message: 14/02/2007, 11h03
  2. [PHP] <?xml version="1.0" encoding="UTF-16
    Par pierrot10 dans le forum XML/XSL et SOAP
    Réponses: 2
    Dernier message: 06/03/2006, 11h22
  3. [SAX] SAXParser et encoding="UTF-8"
    Par mardona dans le forum Format d'échange (XML, JSON...)
    Réponses: 7
    Dernier message: 08/02/2006, 00h07
  4. problème d'encoding UTF-8 via la SDK MSXML
    Par ep31 dans le forum MFC
    Réponses: 6
    Dernier message: 26/01/2006, 09h46
  5. [1.1] Supprimer xml vers=1.0 encod=utf-8
    Par Nip dans le forum ASP.NET
    Réponses: 9
    Dernier message: 24/11/2005, 16h09

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