Pour vos problemes d'accent AJAX en Requete
Résolu
m4r3
Messages postés
16
Date d'inscription
Statut
Membre
Dernière intervention
-
marchami -
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 :!
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 :!
A voir également:
- Pour vos problemes d'accent AJAX en Requete
- E accent minuscule - Guide
- U accent grave clavier ✓ - Forum Windows
- Comment faire un accent circonflexe sur un clavier azerty ✓ - Forum Clavier
- Requête sql pix - Forum Python
- Comment mettre l'accent circonflexe sur e ou ✓ - Forum Réseaux sociaux
8 réponses
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/
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/
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.
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.
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 !!!
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 !!!
M4r3, je n'y arrive pas du tout, aide moi stp !!!
J'ai toujours ces affreux point d'intérrogation :'(
Merci
J'ai toujours ces affreux point d'intérrogation :'(
Merci
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
< ?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