J'en ai marre de chercher pendant des heures alors je vais présenter mon pb.
J'ai une appli J2EE avec apache et struts.
Mon serveur est configuré en UTF-8.
Les accents dans les données de formulaires ne passe pas côté serveur.
Que mes JSP soient en UTF-8 ou ISO-8859-1/15 et que je mette :
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-15;">
ou
<meta http-equiv="content-type" content="text/html; charset=UTF-8;">
ne change rien au pb.
Mon serveur étant en UTF-8 les Header indique au navigateur qu'il faut encoder en utf-8. Manque de bol dans mes JSP quand je fais un getParameter , les accents ne passe pas.
J'ai tenté de manipuler les CharsetEncoder Java mais aucun résultat.
Lorsque je force l'encodage sur firefox à ISO-8859-1/15 (l'un ou l'autre), les accents passent sans pb(pourtant le serveur est en UTF8, logique)
On peut donc régler le pb en passant le serveur en ISO-8859-1/15(j'ai testé ça marche nickel) sauf que
le serveur de prod doit rester en UTF-8, je ne peux donc pas utiliser cette solution.
A priori il n'y a pas besoin de changer l'ecnodage de windows car quand on change l'encodage du serveur ça marche.
J'ai aussi testé cela en début de page JSP:
response.setHeader("Content-Type","text/html;charset=ISO-8859-15");
response.setContentType ("text/html;charset=ISO-8859-15");
Le serveur semble passer totalement outre et continu à envoyer UTF-8 dans le header -> ces fonctions ne servent donc à rien???
Bien sur j'ai testé avec de l'UTF-8 partout (dans JSP, dans les meta sur le serveur, les éditeurs aussi et en encodage par défaut de firefox), cela ne marche pas... l'utf-8 encode pas les accents?????
J'avoue ne plus comprendre ce qui se passe.
Partager