Bonjour à tous,

Voici mon problème : j'ai une page qui en appelle une autre en Ajax. Les données réceptionnées en Ajax semblent mal encodées (points d'interrogation à la place des caractères spéciaux). Par contre, lorsque je me connecte directement sur ma page appelée tout s'affiche bien Smiley bawling

Quelqu'un aurait un élément de réponse ?

Merci d'avance à ceux qui prendront le temps de me répondre.
Modifié par Boris feat Styx (25 Apr 2007 - 11:59)
Administrateur
Bonjour,

sans connaître le détail des 2 pages et du traitement sur ton serveur, cela va être difficile Smiley smile

Felipe
Merci Felipe, j'ai trouvé une solution --> il s'agissait de forcer les entêtes dans la page appelée en ajoutant :

header("Content-Type:text/plain; charset=iso-8859-1");
Hello,

J'ai le même genre de problème :
- côté client une page HTML avec charset=iso-8859-1
- côté serveur : page php qui commence par la ligne :
header("Content-type: application/xml; charset=iso-8859-1");

Le client appelle la page PHP par les technologies AJAX. Problème : la page PHP enregistre des valeurs transmises depuis le client dans la base de données, et me fait sauter tous les caractères spéciaux !
En revanche si sur cette même page PHP j'enregistre les données non pas dans la base, mais dans un fichier, les accents y sont...

Ca vous dit quelque chose ?
A ma connaissance (mais je ne suis pas un expert, loin de là), xmlhttprequest (donc Ajax) ne fonctionne QUE en utf-8. Donc pour faire de l'ajax, il faut d'abord passer son site en utf-8.
Oui c'est bon merci, c'était bien ça !
Avant d'insérer dans la base de données, faut convertir changer l'encodage de cette manière :

mb_convert_encoding($texte_a_convertir, "ISO-8859-1", "UTF-8");