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 :

Caractères accentués dans une requête


Sujet :

PHP & Base de données

  1. #1
    Membre confirmé Avatar de wd_newbie
    Homme Profil pro
    Développeur
    Inscrit en
    Mars 2007
    Messages
    723
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

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

    Informations forums :
    Inscription : Mars 2007
    Messages : 723
    Points : 627
    Points
    627
    Par défaut Caractères accentués dans une requête
    Bonjour,

    je suis en train de perdre mes derniers cheveux a essayer de résoudre ce problème :

    Soit une base de données sous MySQL :

    Nom : img_base1.png
Affichages : 177
Taille : 23,6 Ko

    Je désire récupérer la liste des catégories dans une requête :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
     
    $sql = "SELECT DISTINCT(Categorie) AS Cats FROM jeux ORDER BY Categorie"; 
    $cats = $connection->query($sql);
    $cats->setFetchMode(PDO::FETCH_OBJ);
    je mets donc ces catégories dans un sélecteur, ce qui me donne en HTML :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <select name="COMBO_Categories" style="width:200px">
    <option value=''></option>
    <option value='Bois'>Bois</option>
    <option value='Société'>Société</option>
    </select>
    Je récupère ensuite la valeur de ma "COMBO_Categories" dans le code php pour ne filtrer que sur une catégorie :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    ...
    $rech_cat = $_GET['COMBO_Categories'];
    ...
     
    if ($rech_cat!=''){
    	$filtre=" WHERE Categorie LIKE '".$rech_cat."'"; 
        }
     
    echo $sql ; 
     
    $sql = "SELECT Numero_jeu, Nom_jeu,Categorie FROM jeux".$filtre." ORDER BY Numero_jeu LIMIT $start, $epp"; 
    $select = $connection->query($sql);
    $select->setFetchMode(PDO::FETCH_OBJ);
    Le code SQL me donne :

    SELECT Numero_jeu, Nom_jeu,Categorie FROM jeux WHERE Categorie LIKE 'Société' ORDER BY Numero_jeu LIMIT 0, 15

    et si la valeur de "Categorie" contient des accents , je n'ai aucun résultat ( par exemple "Société") , si la catégorie n'a pas d'accent (exemple "Bois") , la liste est affichée ...et si je fais un copier / coller dans phpmyAdmin de la requête affichée avec des accents , phpmyAdmin affiche la liste des jeux ...

    Mes fichiers sont en UTF8, mes tables également ...

    J'avoue patauger un peu ... beaucoup !!

    Si vous avez une idée ?

    Merci d'avance

    Olivier

  2. #2
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2011
    Messages
    56
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2011
    Messages : 56
    Points : 38
    Points
    38
    Par défaut
    Salut,

    As tu défini à MySQL que tu lui envoyé du utf8 via SET NAMES utf8:

  3. #3
    Membre confirmé Avatar de wd_newbie
    Homme Profil pro
    Développeur
    Inscrit en
    Mars 2007
    Messages
    723
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

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

    Informations forums :
    Inscription : Mars 2007
    Messages : 723
    Points : 627
    Points
    627
    Par défaut
    Hello,

    effectivement, depuis que j'ai mis :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    array( PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8")
    dans la déclaration de connexion ça va beaucoup mieux

    Merci pour ton aide

    Olivier

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

Discussions similaires

  1. Caractère spécial dans une requête
    Par seroa dans le forum Langage SQL
    Réponses: 2
    Dernier message: 06/01/2009, 08h16
  2. Réponses: 11
    Dernier message: 11/11/2008, 18h38
  3. [phpMyAdmin] Caractères accentués dans une base MySQL
    Par devoluti0n dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 1
    Dernier message: 09/05/2008, 01h39
  4. Remplacer les caractères accentués dans une chaine
    Par shaun_the_sheep dans le forum Général Java
    Réponses: 5
    Dernier message: 07/05/2008, 10h41
  5. Caractère étoile dans une requête
    Par deviltaz dans le forum Requêtes et SQL.
    Réponses: 5
    Dernier message: 22/01/2007, 11h10

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