Bonjour,
je viens de m'apercevoir d'un problème d'accent sous ajax et ce post pourrait aussi servir aux personnes qui comme moi ont des problèmes d'accent lorsqu'ils font de l'ajax.
Première chose,
lorsqu'on veut faire de l'ajax avec jQuery, (par exemple envoyer un message) on a (au moins) 2 possibilités :
fonction 1 :
1 2 3 4 5 6 7 8 9 10
| $.ajax({
type: "POST / GET",
url: "ajax/page.php",
async: true,
data: "valeur="+escape($("#input_id").val()),
cache: false,
success: function(msg){
$('#div_id').html(msg);
}
}); |
fonction 2 :
$.get("ajax/page.php", { valeur : escape($("#input_id").val()) }, function(msg){ $('#div_id').html(msg); });
(ou $.post fonctionne aussi)
Personnellement, je préfère la fonction 2 car moins longue à coder.
Il y a un moment d'ici, j'avais créé un système de messagerie avec envoie des messages en ajax avec la fonction 1 et aucun problème d'accent.
Ici, depuis 1 grosse semaine, je devais faire pratiquement le même sur un autre site, mais question de rapidité j'ai préféré utiliser la fonction 2 et "ho surprise" j'avais un gros problème sur les accents et espace (et surement d'autres caractères).
Est-ce quelqu'un peut me dire pourquoi il y a un problème avec les caractères spéciaux sur la fonction 2 ?
Surement est-elle créé différement ?
Y a-t-il une solution pour régler le problème ?
Merci
Partager