Création
d'entreprise
Posez votre question Signaler

Pour vos problemes d'accent AJAX en Requete [Résolu]

m4r3 16Messages postés 14 avril 2008Date d'inscription - Dernière réponse le 22 juil. 2011 à 17:22
Mare des requetes AJAX qui ne marche pas avec les accent????
Dans la page qui fait appelle à la fonction ajax encoder les variable avec utf8_encode()
Sur la page appelé en AJAX, avec votre editeur preferer faite enregistrer sous, regarder dans les options vous avez encodage choisir UTF-8 par defaut c'est Ansi, Enregistrez, ensuite miracle les caractere s'affiche et vous pouvez faire vos requete SQL correctement sans passer par des astuces qui ne fonctionne qu'a moitier.
Voila ca ma couter une nuit :!
Lire la suite 

Pour vos problemes d'accent AJAX en Requete »

10 réponses
Réponse
+6
moins plus
Le problème peut aussi avoir lieu sur la réponse du serveur au client.

Dans ce cas, pour régler le problème changez le content-type dans l'en-tête.

En PHP cela donnerait:
< ?php
header('Content-Type: text/html; charset=ISO-8859-15');
?>

ou

< ?php
header('Content-Type: text/html; charset=utf-8');
?>


L'équipe technique Matelli
http://www.matelli.fr
loclac - 3 déc. 2008 à 15:23
Merci pour ta solution Matelli, tu viens de m'enlever une épine du pied !
kressly- 22 juil. 2011 à 17:22
Oui
< ?php
header('Content-Type: text/html; charset=utf-8');
?>

Marche quand tu as mis un charset utf-8 dans ta page ou se trouve le code ajax et tu as mis
< ?php
header('Content-Type: text/html; charset=utf-8');
?> dans la page qui traite les données du formulaire. Ceci marche parfectement bien. Le utf8_encode ne marche pas toujours
Ajouter un commentaire
Réponse
+2
moins plus
Quelques oublies:

Sur la page appeler en ajax il faut utiliser la fonction utf8_decode($_POST["variable"]);
Preferez la methode POST pour AJAX, pas tester mais je crois qu'il y à ausssi des pb d'encodage avec la methode GET.
Ajouter un commentaire
Réponse
+1
moins plus
Dernier point:
Pour vos variables avec une quote, cela crée un msg d'erreur, normal puisque la fonction est coupé et l'erreur js montre qui'il manque une ).

la solution avec ereg_replace()

on remplace les ' par \'

$u="\'";
$variable = ereg_replace( "'", $u, $row2["sous_rubriques"] );

Ensuite vous encoder la variable avec utf8_encode() comme expliquer au debut.
ex: $variable =utf8_encode($variable );

Sur la page appeler en AJAX pour faire une requete SQL correct il faut utiliser mysql_real_escape_string()
ex:
$variable =$_POST["variable "];
$variable = mysql_real_escape_string($variable);
$variable =utf8_decode($variable);
Vous pouvez maintenant utiliser $variable qui contenait des ' dans une requete SQL !!!
Ajouter un commentaire
Réponse
+1
moins plus
M4r3, je n'y arrive pas du tout, aide moi stp !!!

J'ai toujours ces affreux point d'intérrogation :'(


Merci
Ajouter un commentaire
Réponse
+1
moins plus
Merci pour le tuyau, ça marche nikel!
Ajouter un commentaire
Réponse
+1
moins plus
Merci
Ajouter un commentaire
Réponse
+0
moins plus
bravo m4r3 yan faudrai plus d gars comme toi www.e-toon.fr/blog
Ajouter un commentaire
Ce document intitulé « Pour vos problemes d'accent AJAX en Requete » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?