Problème accent en AJAX (pas les classiques ?)

Résolu
madfab Messages postés 9 Date d'inscription vendredi 14 février 2003 Statut Membre Dernière intervention 23 février 2006 - 21 févr. 2006 à 22:19
Teddy_le_gnein Messages postés 36 Date d'inscription vendredi 28 avril 2006 Statut Membre Dernière intervention 31 janvier 2011 - 1 mars 2010 à 11:52
Bonjour, j'ai codé des formulaires en AJAX supportant plusieurs pages et d'autres fonctionnalité. Un jour je me suis aperçu que tous les caractères accentués ne passait pas.
Hop google, recherche, hop plein de réponse... mais toutes (quasi) pour un problème avec des ? à la place de é è ç (par exemple) qu'on peut corriger avec un htmlentities() (en php).

Or à mon grand malheur, é è et ç donne é Ú ç. Les accents sont bien conservés tant que je suis sur l'ajax, mais dès que je les rentre dans la base de données ca foire. J'ai bien vérifie tous les encodages des différentes pages.

Donc est ce qql1 connait la cause de ce problème d'encodage, et quelle en serai la solution.

merci d'avance

10 réponses

madfab Messages postés 9 Date d'inscription vendredi 14 février 2003 Statut Membre Dernière intervention 23 février 2006
23 févr. 2006 à 15:46
Bon j'ai reussi à resoudre mon problème apres enormement de test.
Je post au cas ou qql en aurait besoin plus tard.

J'avais fait bcp de tests et le resultat n'était toujours pas bon même si ma requete avait une tres bonne tête (les accents bon), sur la même page, juste apres j'avais fait une insertion basique pour voir si cela plantait aussi. Et bah non cela marchait.
Toujours un prob d'encodage quoi.

La solution a été de traiter la requete avec utf8_decode() voila.
Donc ca marche mais sur mon prob perso, j'ai toujours des zones d'ombres :/
3
Mindiell Messages postés 558 Date d'inscription jeudi 25 juillet 2002 Statut Membre Dernière intervention 5 septembre 2007 1
22 févr. 2006 à 11:02
Ca vient de la base et de son système d'encodage, non ? :o)
Tu utilises quoi comme base ?

je parie sur : MySQL encodage latin-1 ?
0
madfab Messages postés 9 Date d'inscription vendredi 14 février 2003 Statut Membre Dernière intervention 23 février 2006
22 févr. 2006 à 17:35
exact oui, si c'est ce problème d'interclassement, lequel dois je mettre ?
0
Mindiell Messages postés 558 Date d'inscription jeudi 25 juillet 2002 Statut Membre Dernière intervention 5 septembre 2007 1
22 févr. 2006 à 18:12
utf8_general_ci ;o)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
madfab Messages postés 9 Date d'inscription vendredi 14 février 2003 Statut Membre Dernière intervention 23 février 2006
23 févr. 2006 à 13:10
Erf cela ne résout pas tout, j'ai testé et cela n'a pas bougé d'un pouce, j'ai testé plusieurs encodage différent pour mon fichier html de base. Rien ne bouge. En revenche, quand je force un encodage dans le fichier "ajax" appelé par header('Content-Type: text/html; charset=ISO-8859-1;'); les accents ne sont toujours pas bon dans la DB mais ne le sont même plus quand je rafraichi mon formulaire ....
0
Mindiell Messages postés 558 Date d'inscription jeudi 25 juillet 2002 Statut Membre Dernière intervention 5 septembre 2007 1
23 févr. 2006 à 13:36
il ne traduit peut-etre pas les anciens champs...

Sans ca c'est Ajax qui est particulier et qui fait de l'unicode...
0
Mindiell Messages postés 558 Date d'inscription jeudi 25 juillet 2002 Statut Membre Dernière intervention 5 septembre 2007 1
23 févr. 2006 à 15:55
tu la vois ou ta requete ?
fais un alert de ta requete en javascript pour voir...
0
madfab Messages postés 9 Date d'inscription vendredi 14 février 2003 Statut Membre Dernière intervention 23 février 2006
23 févr. 2006 à 21:46
Nan c'est bon ca marche.
L'ajax dans mon cas ne chargais pas des données à utiliser dans un formulaire mais tout un pan de page WEB (une page de mon formulaire dans mon cas). Donc je pouvais sans prob faire un echo et visualiser la requete.

voila
0
lexxus93600 Messages postés 1 Date d'inscription vendredi 14 novembre 2003 Statut Membre Dernière intervention 25 juillet 2007
25 juil. 2007 à 11:44
J'ai eu le meme probleme pour l'asp.net lorsque j'utilise ajax.
J'ai résolu le probleme en ajoutant dans le web.config cette ligne :
<

globalizationrequestEncoding="
utf-8"
responseEncoding="
iso-8859-1"
culture="
fr-FR"
uiCulture="
fr"
/>

lexxus
0
Teddy_le_gnein Messages postés 36 Date d'inscription vendredi 28 avril 2006 Statut Membre Dernière intervention 31 janvier 2011
1 mars 2010 à 11:52
Merci beaucoup...
j'ai egalement eu le problème et utf8_decode() à résolut le truc.


You can do it...
0
Rejoignez-nous