bonjour,
je possede une base de donnée MySQL.
lorsque je fait des requetes select via ajax selon certains criteres, si les données recoltées comportent certains caractères comme 'ö' ou '&', ca plante la requete et l'affichage coté naviguateur ne se fait pas.
en fait l'affichage de responseText, les données sont bien affichées, mais arrivé coté js, ca plante...
je pense qu il y a un probleme d'encodage entre les 2 parties du code ...
ma table est en utf8_general_ci, et mes pages php sont en UTF-8
comment recuperer ces fameux caractères?
merci pour votre aide
Souvent la moitié de la réponse se trouve dans une question bien posée.
en fait, coté php tout fonctionne bien car j'ai mis le retour de la requete ajax dans un 'alert' et tout est correct...
c'est quand le code javascript suivant se lance :
nodes = oData.getElementsByTagName('input');
oData etant le retour xml de la requete ajax
que ca plante.
je vais poser cette question dans le forum adapté et je viendrai expliquer apres si j' ai la soluce
Souvent la moitié de la réponse se trouve dans une question bien posée.
A chaque fois qu'il y a un problème d'encodage, quelqu'un propose d'utiliser utf8_encode et utf8_decode pour empirer le problème.
> coté php tout fonctionne bien car j'ai mis le retour de la requete
> ajax dans un 'alert' et tout est correct...
ça ne prouve pas forcément que tout est correct...
vérifie que ton code php qui traite l'ajax renvoie le header Content-Type correct (avec l'encodage) ; affiche le résultat dans un browser (mets directement l'url du code ajax) et vérifie l'encodage ; vérifie l'encodage de ta page principale, etc.
je n'ai jamais eu de probleme jusqu à maintenant j'ai juste transformé ma page principale en HTML5 (supression du DOCTYPE et des infos ds la balise html et meta) mais je ne pense pas que ca vienne de la
quelles manip sont encore possible dans ce cas ci?
merci
Souvent la moitié de la réponse se trouve dans une question bien posée.
Normal, en xml il faut échapper le "&" (utilise htmlspecialchars sur tout texte que tu balances dedans). Personnellement j'utilise le JSON plutôt que le xml, pour éviter ces petits désagréments...
Rajoute aussi l'encodage dans le header Content-Type.
merci lord casque noir, htmlspecialchars a résolu mon problème.
je connaissait cette fonction mais je ne savait pas que le xml ne supportait pas ces caractères ...
je n'ai pas trom compris comment tu faisais passer du JSON à XMLHttpRequest... je ne connais que responseXML ou responseText ...
pour ce qui est du content type il faut un truc dans ce genre la?
j'avoue ne pas trop comprendre l'encodage (je n'ai pas cherché à comprendre encore) car j'ai deja assez à apprendre avec php / js / sql ... mais je pense que ca va devenir obligatoire ...
Souvent la moitié de la réponse se trouve dans une question bien posée.
je me suis replongé dans le tuto de nesquick sur l'ajax et l'encodage des données car j'avais zappé cette partie ...
Souvent la moitié de la réponse se trouve dans une question bien posée.
caracteres bloquant les requetes ..
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.