Bonjour,
malgré mes recherches, je n'ai pas trouvé de solution à mon problème alors vous pourrez peut-être m'aider !
Je crée une application utilisant HTML/PHP/AJAX et jQuery, rien d'anormal pour le moment.
Toutes mes pages fonctionnent comme il faut, sauf une !
Voici mon problème : je valide un formulaire nommé FORM que j'envoie via un appel à Ajax à une page PHP pour ensuite enregistrer les données dans la base.
Appel Ajax :
Quand je fais mon premier console.log, j'obtiens des lettres accentuées remplacées par : %C3%A9 ...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 var result = $("FORM").serialize().replace(/&/g,'|'); console.log(result); $.ajax({ url: 'valider_prin.php?action=partiel&result='+result, success: function(html) {console.log(html); } });
Quand je fais mon second console.log, qui m'affiche la requête SQL qui s'exécute, tout apparaît correctement.
Pour moi le problème vient donc de mon fichier contenant l'appel Ajax.
J'ai regardé l'encodage des fichiers, rien de différent par rapport à toutes les autres pages de l'application (et elles fonctionnent toutes). J'ai quand même testé les header() en php, le rajout de l'encodage dans la balise script pour le javascript, le unescape(result), le escape(result) ...
Rien à faire, j'ai toujours une transformation de mes caractères accentués au moment de les passer à ma page php pour l'enregistrement dans la bdd.
Le fait que je serialize mon formulaire peut-il en être la cause ?
Si vous avez une idée, n'hésitez pas, merci !![]()
Partager