Probleme encodage JEE/ eclipse / formulaire JSP

Probleme encodage JEE/ eclipse / formulaire JSP - Java - Programmation

Marsh Posté le 19-10-2014 à 17:22:53    

Bonjour à tous !
 
Depuis quelques jours j'ai commencé a lire un petit tutoriel/cours sur JEE (donc servlets, JSP, javaBeans), puis depuis quelques heures je me suis attaqué a une séance de travaux pratiques.
 
Dans l'ensemble pas de soucis, mis a part sur un point de détail sur lequel je coince depuis plusieurs heures et auquel je n'ai pas trouvé de solution, je viens donc ici vous demander votre aide ^^, merci d'avance.
 
Lorsque je tape mes données dans le formulaire dont le code m'a été fourni par l'auteur du tutoriel, si je mets un caractère avec accent, lorsque j'essaie de l'afficher dans ma page JSP, j'obtiens des caractères tels que @¨, et autres bizarreries...
 
J'ai vu que ce problème avait souvent été abordé sur de nombreux sites, mais aucune des solutions que j'ai pu tester n'a fonctionné.
 
Pour commencer j'ai suivi les recommandations du tutoriel en configurant eclipse, pour que tout les fichiers soient encodés par défaut en UTF-8, de même que dans le fichier web.xml j'ai ajouté la ligne :
 

Citation :

<?xml version="1.0" encoding="UTF-8"?>


 
Puis ensuite j'ai essayé d'autres solutions telles que :
 
     - ajouter un filtre dans le fichier web.xml :
 

Citation :

<filter>
    <filter-name>Set Character Encoding</filter-name>
    <filter-class>org.apache.catalina.filters.SetCharacterEncodingFilter</filter-class>
    <init-param>
        <param-name>encoding</param-name>
        <param-value>UTF-8</param-value>
    </init-param>
    <init-param>
        <param-name>ignore</param-name>
        <param-value>false</param-value>
    </init-param>
</filter>
<filter-mapping>
   <filter-name>Set Character Encoding</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping><br><br>


 
 
     - J'ai essayé d'ajouté ces deux lignes de code dans mes servlets, même si normalement la tentative précédente les rend totalement inutiles :
 
 

Citation :

     request.setCharacterEncoding("UTF-8" );
        response.setCharacterEncoding("UTF-8" );


     - J'ai essayé d'ajouter l'attribut suivant dans la balise form de mon formulaire JSP :
 

Citation :

         accept-charset="UTF-8"


 
     - Bien évidemment toutes mes pages JSP contiennent les lignes suivantes :
 

Citation :

          <%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
...
 
          <head>
...
 
              <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
 
 

Malgré tout mon appli persiste a m'afficher mes caractères erronés au lieu de mes caractères accentués, j'avoue que ce mystère m'intrigue, et je suis à court d'idées ^^. Peut être un problème de configuration du serveur Tomcat ??
 
Merci de m'avoir lu, et merci pour votre aide, d'avance :).

Reply

Marsh Posté le 19-10-2014 à 17:22:53   

Reply

Marsh Posté le 21-10-2014 à 11:06:04    

Ouaip, Eclipse est parfois lourd avec ça.
 
Même si ton workspace et ton projet sont configurés pour utiliser UTF-8 il considère parfois qu'un fichier est encodé différemment...
 
Regarde les propriétés de ton fichier JSP et s'il est en "Default : determined from content type: ISO...." tu devras le forcer à UTF-8

Reply

Marsh Posté le 28-10-2014 à 14:51:58    

dsl pour le temps de réponse, et merci pour ton aide Bidem :).
 
Le problème ne vient pas de la j'ai vérifié. J'ai laissé tombé cette question provisoirement, car l'auteur du tuto me dit que c'est normal et que je verrai plus tard comment régler ce problème.

Reply

Marsh Posté le 28-10-2014 à 15:52:03    

tonio70140 a écrit :

dsl pour le temps de réponse, et merci pour ton aide Bidem :).
 
Le problème ne vient pas de la j'ai vérifié. J'ai laissé tombé cette question provisoirement, car l'auteur du tuto me dit que c'est normal et que je verrai plus tard comment régler ce problème.


Le pb de charset est pas toujours évident à résoudre : en effet, il faut que toute la "chaîne" soit configurée dans le même charset. La chaîne c'est :  
- le charset des champs de la base de données
- le charset utilisé pour la connexion à la BD
- le charset du code source de l'appli web (éditeur de texte)
- le charset spécifié dans le header du code HTML
- le charset spécifié dans les éventuels fichiers XML et/ou XSL
- le charset spécifié dans le parser XML utilisé pour manipuler les fichiers XML
- le charset de l'OS du serveur web
- le charset du serveur web (ex : apache)
 
Tout ça doit avoir le même charset ;)


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed