Pour vos problemes d'accent AJAX en Requete

Résolu
m4r3 Messages postés 16 Date d'inscription   Statut Membre Dernière intervention   -  
 marchami -
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 :!

8 réponses

Matelli
 
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/english/
11
loclac
 
Merci pour ta solution Matelli, tu viens de m'enlever une épine du pied !
0
kressly Messages postés 29 Date d'inscription   Statut Membre Dernière intervention  
 
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
0
marchami
 
Merci
0
m4r3 Messages postés 16 Date d'inscription   Statut Membre Dernière intervention   8
 
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.
4
m4r3 Messages postés 16 Date d'inscription   Statut Membre Dernière intervention   8
 
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 !!!
1
Vins974
 
M4r3, je n'y arrive pas du tout, aide moi stp !!!

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


Merci
1

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

Posez votre question
Ludo
 
Merci pour le tuyau, ça marche nikel!
1
rixan Messages postés 414 Date d'inscription   Statut Membre Dernière intervention   43
 
Merci
1
e-toon
 
bravo m4r3 yan faudrai plus d gars comme toi www.e-toon.fr/blog
0
kressly Messages postés 29 Date d'inscription   Statut Membre Dernière intervention  
 
C'est bizarre mais même en faisant ça, ça ne marche pas. Que faire ?
0