Bonsoir toute le monde !

J'aimerais récupérer le résultat d'une requête par ajax avec la fonction $.getJSON... Le problème c'est que le résultat de la variable ne passe pas quand il y a un accent, du coup la fonction ne renvoit rien dans ce cas-là. Je sais pas si le problème vient de l'encodage ou d'un paramètre de la fonction, J'espère avoir été clair, merci d'avance !

Ma fonction jQuery

function getWorksData(id){
    $.getJSON('select-work.php?id='+id, function(data){
        $('#content h1').text(data.titre);
        $('#content p').text(data.image);
    });
}

La requête PHP

<?php 
    require_once("inc/connect.php");
    $id = $_GET'id'];
    $sql = 'SELECT * FROM Works WHERE id = '.$id.'';
    $req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
    while($data = mysql_fetch_array($req)){
        echo json_encode($data);        
    } 
?>

1 réponse


Charly
Auteur
Réponse acceptée

Problème réglé,

Il suffisait simplement d'ajouter

mysql_query("SET NAMES 'utf8'");

dans le fichier php de connexion à la base de données.

En espérant que ça puisse servir à d'autres personnes.