IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

AJAX Discussion :

[AJAX] Encodage des données issues d'une requête MySQL


Sujet :

AJAX

  1. #1
    Membre actif Avatar de grinder59
    Inscrit en
    Septembre 2005
    Messages
    707
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 707
    Points : 215
    Points
    215
    Par défaut [AJAX] Encodage des données issues d'une requête MySQL
    Bonjour,

    j'ai un bout de mon site qui fait la chose suivante :
    - Affichage d'une liste de continents
    - Lorsque je choisis un continent, je fais un appel Ajax (jQuery) qui recherche dans une base de données MySQL la liste des pays de ce continent et les affiche dans un second select

    La requête sql est faite par un objet mysqli sur lequel j'exécute $mysqli->set_charset("utf8") et le résultat de cette requête est retourné à l'ajax de cette façon : echo json_encode($reference->getpays($continent_id)).

    Le souci concerne les pays ayant un accent, par exemple "Les Açores".

    Lorsque j'affiche le dump du retour sql, les accents s'affichent.
    Lorsque j'affiche le dump du json_decode, les accents ne s'affichent pas : Açores devient A\u00e7ores

    Evidemment, j'ai cherché sur le web et j'ai donc :
    - converti mes fichiers en utf8
    - appliqué une conversion en utf8 de ma base de données et des tables avec collation utf8_unicode_ci
    - tenté de "nettoyer ma bd et les données" :
    - fait un export des données de ma base dans un fichier plat, vérifié que le fichier était en utf8, vérifié que les instruction de créations de tables et insertions de données se faisaient en utf8
    - supprimer les tables de ma base
    - importer le fichier de création / insertion

    Cela n'a rien résolu.

    Y'a un truc que je trouve douteux tout de même, lorsque j'affiche chaque valeur de chaque colonne de chaque ligne avec l'encodage de la donnée, alors que tout devrait être en UTF8, j'ai ce résultat :

    0 => ASCII
    236 => ASCII
    Açores => UTF-8

    1 => ASCII
    1 => ASCII
    Albanie => ASCII

    2 => ASCII
    2 => ASCII
    Allemagne => ASCII

    Auriez-vous une idée sur un truc que je n'aurai pas fait ?
    Merci de votre aide !

  2. #2
    Invité
    Invité(e)
    Par défaut
    Tu as essayé de changer l'encodage dans la requête $.ajax() de Jquery ? je sais que c'est possible ... (->Google)

  3. #3
    Membre actif Avatar de grinder59
    Inscrit en
    Septembre 2005
    Messages
    707
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 707
    Points : 215
    Points
    215
    Par défaut
    La requête est faite côté php, l'ajax fait juste un appel à l'url et gère le résultat

Discussions similaires

  1. Récupérer des données issues d'une requête
    Par flavors dans le forum Langage
    Réponses: 8
    Dernier message: 22/07/2015, 17h07
  2. Récupération des données issues d'une requête
    Par TeoSitran dans le forum Requêtes et SQL.
    Réponses: 8
    Dernier message: 29/04/2014, 09h36
  3. [PHP 5.3] Récupérer des données issues d'une requête http GET
    Par Pierrea4564 dans le forum Langage
    Réponses: 2
    Dernier message: 24/09/2013, 08h15
  4. Encodage des données issus d'une requête SQL
    Par Chipss dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 08/02/2013, 16h04
  5. [FPDF] Mettre des données issues d'une requête dans l'entête
    Par zoom61 dans le forum Bibliothèques et frameworks
    Réponses: 4
    Dernier message: 30/03/2007, 10h10

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo