les accent entre PHP et JQuery et encodage json
Bonjour,
j'envoie un contenu textarea en ajax (via jquery) dans un script php. Voici le code :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
|
jQuery('#comment').keyup(function(e) {
var send = false;
var comment = jQuery(this).val();
var count = comment.split(' ').length;
if(((count % 6) == 1) && e.which == 32) {
jQuery.ajax({
type : 'post',
url : 'http://localhost/url.php',
data : {content : comment},
dataType : 'json',
success : function(data) {
//console.log(data);
}
});
}
}); |
Et voila le code PHP :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
|
if(!empty($_POST['content'])) {
$content = utf8_decode($_POST['content']);
if(!$link = @mysqli_connect('localhost', 'root', '', 'code')) {
$msg['error'] = 'error connect';
} else {
if($result = mysqli_query($link, "SELECT * FROM `terms`")) {
while($object = mysqli_fetch_object($result)) {
if(preg_match('#(' . $object->name . ')#i', $content, $matches)) {
$msg[] = array("name" => $matches[1], "slug" => $object->slug);
}
}
}
}
if(!empty($msg)) {
echo json_encode($msg);
}
} |
pour le retour, dans l'objet généré par JSON toutes les chaine de caractères avec accents, sont remplacées par "null" (la chaine complète). Pour tant, tous les fichiers sont encoder en utf8.
si dans la boucle du code, je fait un :
Il affiche bien la chaine de caractères.
Pouvez-vous m'aider s'il vous plait ?
Merci d'avance.
Bien cordialement.