J'utilise un javascript avec XMLHttpRequest pour charger la source d'une page web dans une variable, mais
les caractères spéciaux "ééééççççààààèèèèè"(et les caractères qui les entourent) s'affichent avec un carré si je fais alert(variable) et rien du tout si je fais document.write(variable).
Par-contre, si j'ouvre la page web concernée normalement(ds IE6), ces caractères s'affichent convenablement.
J'ai beaucoup cherché, mais rien trouvé !
Est-ce que quelqu'un pourrait m'aider(en javascript svp)
Désolé de ne pas avoir réagit avant, mais je n'avais pas reçu le mail de notif...
Sinon, merci pour ta proposition, mais je l'ai déjà essayée(et c'est même pire).
bref, le problème est ailleurs...mais où...
C'est vraiment un problème d'interprétation des carac. à l'affichage, mais seulement dans le cas ou je passe par un XMLHttpRequest...
(et vraissemblablement, peut importe l'entête: utf-8 ou autre)
Tu affiches les données d'un fichier texte??? Si c'est le cas, il te faut enregistrer ton fichier en UTF-8 (lors de la sauvegarde avec le bloc note, tu peux choisir le codage).
PS: Je suis presque sûr que c'est UTF-8 mais si ça fonctionne pas, essaye Unicode.
En fait, je pompe la source d'une page pour en tirer certaines infos, ces dernières vont dans une variable, sur la quelle je fais quelques replace() et ensuite je l'affiche. Et c'est la que se pose le problème d'affichage, quelque soit l'entête de la page où j'affiche ces infos...
Sinon, le scripte que j'utilise est le fameux que l'on trouve partout sur le net...
Ajout du 16-05-2008 à 05:52:
Oups! je viens de me rendre compte que j'ai oublié un détail important:
en fait le prob commence avant l'affichage sur la page web, càd: si je fais un test avec "alert(la variable)" ds mon scripte, j'ai déjà le prob avec les carac...
Il est possible que le serveur prétende que l'encodage est UTF-8 alors que c'est de l'ISO-8859-1 (et inversément)
Tu peux essayer de forcer l'encodage de la page lue avec la méthode overrideMimeType, p.ex: ObjetXHR.overrideMimeType(”text/html; charset=ISO-8859-1″);
Je viens de vérifier et j'avais déjà essayé, mais en fait, il me semble que cela ne peut pas être la solution, corrigez moi si je me trompe, puisque comme je l'expliquais avant, même avec un "alert()", et donc, sans ouvrir une page, j'ai déjà le prob...
Sauf mention contraire, le contenu du blog et du forum est sous licence Creative Commons By-Sa. Vous avez le droit de le reproduire à condition de citer l'auteur, de faire un lien vers la page d'origine, et de partager vos travaux dérivés selon les mêmes conditions.