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

PHP & Base de données Discussion :

Encodage utf-8 du résultat d'une requête [ODBC]


Sujet :

PHP & Base de données

  1. #1
    Nouveau membre du Club Avatar de PiXxz
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2017
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2017
    Messages : 33
    Points : 27
    Points
    27
    Par défaut Encodage utf-8 du résultat d'une requête
    Bonjour,
    je réalise une connexion php a une bdd Access j’exécute et affiche le résultat d'une requête,
    mais le résultats de la requête n'est pas encodé en utf-8 en effet j'obtient des "�" à la place des accents.
    Mon .php est bien codé en utf8.
    Environnement:
    wamp32b/chrome/php 5.6.31
    voici un code illustrant mes propos:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    <?php
     
     
     
     //connexion à une base de données ACCESS
    $bd="testutf8"; // identifiant DSN
    $user="admin"; // login
    $password="admin"; // password
    $cnx = odbc_connect( $bd , $user, $password );
     
     
    if($cnx){ 
     
    $tablelist = odbc_tables($cnx);
    while (odbc_fetch_row($tablelist)) //tant que c'est pas la fin de la table
    {
    	if (odbc_result($tablelist, 3) == "TABLE") // Si indicateur TABLE
    		echo odbc_result($tablelist, 3); // Affiche nom de la TABLE
    }
    $requete = "select test1 from test"; 
    $valeur= odbc_exec( $cnx, utf8_decode($requete)); //requête
    while($row = odbc_fetch_array($valeur)) //tant que c'est pas la fin de la table
    {	
    	echo "oui";
       echo $row["test1"];//ici on affiche la valeur du champ1
       }
     
    }
    else{
    die (odbc_error());
    echo "Impossible de se connecter à  la base de données";
    }
     
    var_dump($valeur);
    odbc_close( $cnx); // ferme la connexion
     
    ?>
    si quelqu'un aurait la moindre idée
    bonne journée,

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Fais la conversion :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo mb_convert_encoding($row["test1"], "UTF-8", "Windows-1252");

  3. #3
    Nouveau membre du Club Avatar de PiXxz
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2017
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2017
    Messages : 33
    Points : 27
    Points
    27
    Par défaut
    je suis désolé que la solution soit aussi simple :c je te remercie beaucoup!

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    En fait j'ai un peu cherché mais visiblement on ne peut pas changer l'encodage sur la connexion odbc directement.
    Il faut donc convertir manuellement les données.

  5. #5
    Nouveau membre du Club Avatar de PiXxz
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2017
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2017
    Messages : 33
    Points : 27
    Points
    27
    Par défaut
    Oui, j'avais effectivement cherché a récupérer les données en encodage UTF-8 mais je n'avais pas pensé a les convertir une fois récupéré.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Comparer le résultat d'une requête
    Par VirginieGE dans le forum ASP
    Réponses: 3
    Dernier message: 10/08/2004, 15h15
  2. Arrondir le résultat d'une requête
    Par wautierp dans le forum Langage SQL
    Réponses: 2
    Dernier message: 07/06/2004, 11h56
  3. Résultat d'une requête dans une variable...
    Par Hoegaarden dans le forum Bases de données
    Réponses: 6
    Dernier message: 28/04/2004, 13h51
  4. Résultat d'une requète SQL
    Par camino dans le forum Bases de données
    Réponses: 2
    Dernier message: 21/02/2004, 15h22
  5. [BDD] Enregistrer le résultat d'une requête
    Par Mowgly dans le forum C++Builder
    Réponses: 5
    Dernier message: 19/06/2002, 15h26

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