[AJAX] Vista et IE : utilisation de Charset
Bonjour!
J'ai un soucis de charset avec mon code javascript après avec récupéré une page web sur un serveur distant (ndd différent)
Mon code fonctionne parfaitement avec Firefox et IE 7 sous WinXP, il fonctionne avec FF sous Vista, mais pas avec IE 7 sous vista.
En gros il me récup de l'UTF-8 au lieu d'iso.
J'ai placé une balise meta pour specifier iso, j'ai placé un header php pour spécifier iso, ça marche pas.
Voici le code :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
| function makeRequest(method,url,parameters,callback,mode) {
try {
netscape.security.PrivilegeManager.enablePrivilege("UniversalBrowserRead");
} catch (e) {}
if (window.XMLHttpRequest) { // Mozilla, Safari,...
http_request = new XMLHttpRequest();
if (http_request.overrideMimeType) {
http_request.overrideMimeType('text/html; charset=iso-8859-1');
}
} else if (window.ActiveXObject) { // IE
try {
http_request = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
http_request = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e) {}
}
}
if (!http_request) {
alert('Abandon :( Impossible de créer une instance XMLHTTP');
return false;
}
if(mode==true)
http_request.onreadystatechange = function() { callback(http_request); };
http_request.open(method, url, mode);
if(method=='GET') {
http_request.send(null);
} else {
http_request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=iso-8859-1");
http_request.setRequestHeader("Content-length", parameters.length);
http_request.send(parameters);
}
if(mode==false)
callback(http_request);
} |
A savoir que l'encodage est bien sur "iso" dans les options d'IE.
Est-ce que quelqu'un saurait m'aider s'il vous plait ?