xmlHttpRequest et caractères accentués

xmlHttpRequest et caractères accentués - HTML/CSS - Programmation

Marsh Posté le 20-09-2005 à 23:55:32    

Bonjour,  
 
Je sais que le sujet a maintes fois été abordé mais je n'ai trouvé aucune solution pour l'instant. Le problème est lié à des caractères spéciaux dans le fichier accédé en xmlHttpRequest. Voici mon cas précis :  
- soit le fichier "1.htm" qui contient le code suivant :  

Citation :

<html>
<body>
Test : éè (caractere special !)
</body>
</html>


 
Je précise que je n'ai pas accès au contenu de ce fichier en modification. Pas moyen, donc, d'encoder le contenu avant de le récupérer via xmlHttpRequest.
 
- soit le fichier "2.html" qui appelle le 1e avec xmlhttprequest avec le code suivant :  

Citation :

<html>
<head>
<script language="JavaScript">
var req;
function loadXMLDoc(url)
{
 req = false;
 if(window.XMLHttpRequest)
 {
  try
  { req = new XMLHttpRequest(); }
  catch(e)
  { req = false; }
 }
 else if(window.ActiveXObject)
 {
  try
  { req = new ActiveXObject("Msxml2.XMLHTTP" ); }
  catch(e)
  {
   try
   { req = new ActiveXObject("Microsoft.XMLHTTP" ); }
   catch(e)
   { req = false; }
  }
 }
 if(req)
 {
  req.onreadystatechange = processReqChange;
  req.open("GET", url, true);
  req.setRequestHeader("Content-Type","application/x-www-form-urlencoded" );
  req.send("" );
 }
}
 
function processReqChange()
{
 if (req.readyState == 4)
 {
  alert(req.responseText);
 }
}
 
function start()
{
 loadXMLDoc("1.htm" );
}
</script>
</head>
<body onLoad="start();">
</body>
</html>


 
Le problème est que les caractères accentués sont remplacés par un carré (1 carré pour les 2 caractères  ). J'ai essayé plusieurs trucs avec la variable xmlHttpRequest en utilisant POST/GET, setRequestHeader... mais rien n'y fait. Avec le cas ci-dessus vous pouvez facilement reproduire mon erreur.  
Pourtant si j'ouvre le fichier "1.htm" directement dans IE cela ne pose aucun problème...  
Une idée ?  
 
Azer

Reply

Marsh Posté le 20-09-2005 à 23:55:32   

Reply

Marsh Posté le 21-09-2005 à 00:03:39    

encodage différent dans les deux fichiers j'imagines.
Faudrait pouvoir réencoder à l'arrivé en fonction de lk'encodage d'arrivé.

Reply

Marsh Posté le 21-09-2005 à 00:24:28    

Je cherche justement à faire ça, mais je me demande si setRequestheader sert à qqchose parce que rien n'y fait...
 
Azer

Reply

Marsh Posté le 22-09-2005 à 16:26:40    

Personne n'a une autre idée ? :-(
 
Azer

Reply

Sujets relatifs:

Leave a Replay

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