probleme charset avec XMLHTTPREQUEST
22 messages
• Page 1 sur 2 • 1, 2
-

e-kiwi - Modérateur

- Messages: 15618
- Inscription: 23 Déc 2003
probleme charset avec XMLHTTPREQUEST
Bonjour,
les XMLHTTPREQUEST sont censées me semble t'il renvoyer les réponses en utf8.
Cependant en les utilisant, j'ai des problèmes d'encodage de caractères, ma page qui recois les données issus du XMLHTTPREQUEST est bien en utf8, mais l'affichage de ces données est incorrecte (accent affichés en '?')
si je fais utf8_encode() de mon résultat, cela fonctionne, mais je n'ai aps envie de les coller partout. comment faire pour régler ce problème ?
précisions :
c'est la fonction echo qui affiche pas en utf8 si elle est dans la réponse
si mes données sont dans du xml, ca passe bien
imaginons j'appele en XMLHTTPREQUEST une page toto.php
si dans toto.php j'ai : <? echo 'vélo'; ?>
le 'é' sort en '?'
si dans mon toto.php j'ai : <DATA>vélo</DATA>
le é sort bien
merki
les XMLHTTPREQUEST sont censées me semble t'il renvoyer les réponses en utf8.
Cependant en les utilisant, j'ai des problèmes d'encodage de caractères, ma page qui recois les données issus du XMLHTTPREQUEST est bien en utf8, mais l'affichage de ces données est incorrecte (accent affichés en '?')
si je fais utf8_encode() de mon résultat, cela fonctionne, mais je n'ai aps envie de les coller partout. comment faire pour régler ce problème ?
précisions :
c'est la fonction echo qui affiche pas en utf8 si elle est dans la réponse
si mes données sont dans du xml, ca passe bien
imaginons j'appele en XMLHTTPREQUEST une page toto.php
si dans toto.php j'ai : <? echo 'vélo'; ?>
le 'é' sort en '?'
si dans mon toto.php j'ai : <DATA>vélo</DATA>
le é sort bien
merki
-

Serious - WRInaute passionné

- Messages: 2438
- Inscription: 21 Nov 2005
Re: probleme charset avec XMLHTTPREQUEST
e-kiwi a écrit:les XMLHTTPREQUEST sont censées me semble t'il renvoyer les réponses en utf8.
Non, il te renvoie simplement les donnees demandees. Si celles-ci sont en utf8, tant mieux mais ce n'est pas necessairement le cas.
e-kiwi a écrit:si je fais utf8_encode() de mon résultat, cela fonctionne
Donc tes donnees sont probablement en iso-8859-1 (configuration par defaut d'apache).
Donc soit tu passes par du XML en indiquant l'encodage, soit tu convertis tes donnees sur le serveur, soit tu les convertis a l'arrivee.
- darkbob
- Nouveau WRInaute

- Messages: 32
- Inscription: 29 Nov 2004
Re: probleme charset avec XMLHTTPREQUEST
e-kiwi a écrit:imaginons j'appele en XMLHTTPREQUEST une page toto.php
si dans toto.php j'ai : <? echo 'vélo'; ?>
le 'é' sort en '?'
si dans mon toto.php j'ai : <DATA>vélo</DATA>
le é sort bien
merki
Essaye d'ajouter htmlentities avant l'affichage.
-

blman - WRInaute accro

- Messages: 3077
- Inscription: 5 Sep 2003
htmlentities ou htmlspecialchars, c un pansement( mais qui fonctionne aussi).
Mais ça devrait marcher si le code que tu retourne e-kiwi est bien en UTF-8 donc :
- pour ton fichier PHP : il faut qu'il soit coder en UTF8 avec notepad++ (configurer en UTF8) par exemple ou que tu retourne du texte encodé en UTF-8 avec utf8_encode()
- pour ta BDD : qu'elle soit en UTF8 ou que tu encode les données avec utf8_encode()
ATTENTION : avec utf8_encode(), certains caractères ne passent pas. Je crois qu'il faut faire le test avec le signe euro (de mémoire). Sinon, avec cette fonction, il faut bien faire attention de transformer du latin en utf. Si tu essaie de transformer de l'utf en utf, ça va merder.
Mais ça devrait marcher si le code que tu retourne e-kiwi est bien en UTF-8 donc :
- pour ton fichier PHP : il faut qu'il soit coder en UTF8 avec notepad++ (configurer en UTF8) par exemple ou que tu retourne du texte encodé en UTF-8 avec utf8_encode()
- pour ta BDD : qu'elle soit en UTF8 ou que tu encode les données avec utf8_encode()
ATTENTION : avec utf8_encode(), certains caractères ne passent pas. Je crois qu'il faut faire le test avec le signe euro (de mémoire). Sinon, avec cette fonction, il faut bien faire attention de transformer du latin en utf. Si tu essaie de transformer de l'utf en utf, ça va merder.
- oxman
- WRInaute discret

- Messages: 118
- Inscription: 21 Juin 2004
Pour la petite info, Notepad de Windows XP permet d'encoder en UTF-8.
Mais je ne saurais que trop vous conseiller Scintilla Editor.
Libre et gratuit : http://prdownloads.sourceforge.net/scin ... p?download
Mais je ne saurais que trop vous conseiller Scintilla Editor.
Libre et gratuit : http://prdownloads.sourceforge.net/scin ... p?download
22 messages
• Page 1 sur 2 • 1, 2
Lectures recommandées sur ce thème :
- différence entre charset=ks_c_5601-1987 et charset=euc-kr
- charset=iso-8859-1 ou charset=utf-8 ?
- DC to WP : problème de charset
- Problème charset
- [Ajax] probleme de charset
- XMLHttpRequest()
- AJAX and xmlhttprequest...
- XMLHttpRequest et sous domaines
- xmlhttprequest et fichier distant ...
- xmlhttprequest : ca veut pas OPEN
- Google rejoint le projet Open AJAX créé par IBM - 02-02-2006
- Google Speed Tracer : outil de monitoring d'application web - 14-12-2009
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité


