Bonjour,

Comme beaucoup de personnes, j'ai un problème d'accents ... J'ai parcouru de très nombreux tutos et pages web sur le sujet, mais je en trouve toujours pas ma solution ...

J'ai une page web en html contenant le header
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
J'ai un javascript à l'intérieur de cette page qui envoie l'url suivante à une servlet de nom Search ... (notez que je précise bien le setRequestHeader ...)

Voici le code javascript:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
 
var _url = "Search?caseParam1=" + _caseParam1;
 
		   if (typeof XMLHttpRequest != "undefined") {
		       req = new XMLHttpRequest();       
		   } 
		   else if (window.ActiveXObject) {
		       req = new ActiveXObject("Microsoft.XMLHTTP");
		   }		   		   
		   req.open("POST", _url, true);
		   req.setRequestHeader("Content-Type", "text/plain;charset=ISO-8859-1");	  
		   req.onreadystatechange = callback;
		   req.send(null);

La servlet Search, quand à elle, traite l'arrivée du message comme ceci:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
request.setCharacterEncoding("ISO-8859-1");
String myWord = request.getParameter("caseParam1");
Et c'est la que survient le problème ....

Voici l'URL que l'on peut voir avec Firebug, juste avant l'envoi à la servlet :

Search?caseParam1=québec
En revanche, voici ce que contient la String myWord dans la servlet :
québec
Et tous les caractères spéciaux arrivent "de travers" dans la servlet ...

Dans les paramètres de démarrage de la JVM de Tomcat, j'ai ajouté :
-Dfile.encoding="ISO-8859-1"
Dans le fichier server.xml de Tomcat, dans la partie Connector, j'ai ajouté :
URIEncoding="ISO-8859-1"
Et malgré tout ça, cela ne fonctionne toujours pas ...

Je m'arrache les cheveux sur ce problème depuis deux jours maintenant ...
Quelqu'un à -t-il une idée ?

Merci d'avance.