[Astuce] Caracteres speciaux et XMLHTTPREQUEST
Posté : 18 juil. 2005, 18:02
Salut,
beaucoup, sur beaucoup de forum ont des probleme avec XMLHTTPREQUEST pour les caractere scpeciaux (accents etc...)
Personne n'avais jusqu'alors trouvé de solutions (du moins j en ai pas trouvé apres des heures et des heures de navigation sur les forum js, XML etc... meme anglophone et germanophone)
Et bien je vous propose la/les solution(s)
La principale methode consiste a ne pas utiliser de champs :
et a utiliser la methode GET plutot que POST.
cela vous permettra de faire transiter les variables sans pertes des accents etc... et donc d'éventuellement stocker dans une BDD.
Pour le meme resultat vous pouvez aussi :
garder le champs et la methode POST mais faire escape() sur vos valeur puis rawurldecode() o moment de gérer la variable en PHP
Enfin :
le principal probleme arrive lors de l affichage des caracteres speciaux via XMLHTTPREQUEST. Il vous suffit alors de mettre:
dans votre page php... et ca marche :bounce:
Voila je pense que je vais soulagé bcp bcp de monde avec ces 3 idées...
Si vous avez des questions n hesitez pas me contacter...
Shrito
beaucoup, sur beaucoup de forum ont des probleme avec XMLHTTPREQUEST pour les caractere scpeciaux (accents etc...)
Personne n'avais jusqu'alors trouvé de solutions (du moins j en ai pas trouvé apres des heures et des heures de navigation sur les forum js, XML etc... meme anglophone et germanophone)
Et bien je vous propose la/les solution(s)
La principale methode consiste a ne pas utiliser de champs :
Code : Tout sélectionner
variable.setRequestHeader('Content-Type','application/x-www-form-urlencoded')cela vous permettra de faire transiter les variables sans pertes des accents etc... et donc d'éventuellement stocker dans une BDD.
Pour le meme resultat vous pouvez aussi :
garder le champs et la methode POST mais faire escape() sur vos valeur puis rawurldecode() o moment de gérer la variable en PHP
Enfin :
le principal probleme arrive lors de l affichage des caracteres speciaux via XMLHTTPREQUEST. Il vous suffit alors de mettre:
Code : Tout sélectionner
header('Content-Type: text/xml; charset=utf-8');Voila je pense que je vais soulagé bcp bcp de monde avec ces 3 idées...
Si vous avez des questions n hesitez pas me contacter...
Shrito