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 :

Accentuation BDD PHP MySQL [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre régulier
    Homme Profil pro
    Inscrit en
    Février 2013
    Messages
    149
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Février 2013
    Messages : 149
    Points : 87
    Points
    87
    Par défaut Accentuation BDD PHP MySQL
    Bonjour,

    Voici mon problème,

    Sur mon site les informations tirés de mes bases de données comme le titre ou la description sont retranscrit par des "�quipe" ou encore "s\'�tait" au lieu de m'afficher é,è ou ' etc...

    Sur mon interfasse phpmyadmin mon Interclassement pour la connexion au serveur est en : utf8_general_ci

    Mes tables sont également avec un interclassement utf8_general_ci
    (apres les avoirs modifiés une première fois, car l'interclassement était en latin1_general_ci )
    les types VACHAR, et TEXT sont en interclassement utf8_general_ci

    J'aimerais si possible une explication des plus simple possible dû à mon bas niveau x)

    Merci pour votre aide .

  2. #2
    Membre actif
    Homme Profil pro
    Développeur Full Stack
    Inscrit en
    Mai 2010
    Messages
    159
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Full Stack

    Informations forums :
    Inscription : Mai 2010
    Messages : 159
    Points : 220
    Points
    220
    Par défaut
    Tes page de sortie ne doivent pas être en utf8 c'est pour cela que tu as se problème essai de voir avec urf8_decode(ta_variable).

    Il te faut aussi retirer les antislash.

  3. #3
    Membre expérimenté
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2008
    Messages
    1 051
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Hautes Pyrénées (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 051
    Points : 1 638
    Points
    1 638
    Par défaut
    Dans ta BDD, tes caractères s'affichent bien ?

    Les \ sont présents dans la BDD ? Si c'est le cas, ce n'est pas bon déjà ...

    Sinon et bien Passez à l'UTF-8 sans manquer une étape
    Règle N° 1 : Si tout va bien, ne touchez à rien.

  4. #4
    Membre régulier
    Homme Profil pro
    Inscrit en
    Février 2013
    Messages
    149
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Février 2013
    Messages : 149
    Points : 87
    Points
    87
    Par défaut
    Re,
    toutes mes pages ont :
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">

    Dans mes bases de données, les informations sont correctement écrites, aucune erreur d'accentuation et pas de "/".

    :/

  5. #5
    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
    Est-ce que tu as bien lu le lien donné par bob363 et appliqué les recommendations ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  6. #6
    Membre actif
    Homme Profil pro
    Développeur Full Stack
    Inscrit en
    Mai 2010
    Messages
    159
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Full Stack

    Informations forums :
    Inscription : Mai 2010
    Messages : 159
    Points : 220
    Points
    220
    Par défaut
    Dans ton code php tes variables sont affichées directement? ou passent elles par un htmlspecialchars ou autres?

  7. #7
    Membre régulier
    Homme Profil pro
    Inscrit en
    Février 2013
    Messages
    149
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Février 2013
    Messages : 149
    Points : 87
    Points
    87
    Par défaut
    Bonjour,
    Merci pour vos réponse.
    Oui j'ai bien été lire le cours concernant l'encodage, en essayant de l'appliquer :/. Sans succès..

    Concernant mon code php, les variable y sont directement afficher sans passer
    par un html special chars..

    Voici le code d'une de mes pages qui ne s'affiche pas correctement ( caractère accentué )

    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
    38
    39
    40
    41
    42
    43
     
    <?php 
    require_once("connexiondessins.inc.php");
    $reponse = $bdd->query('SELECT categorie,titre,image,description FROM dessins WHERE categorie="sports"');
    ?>
    <!DOCTYPE HTML>
    <html>
    <link rel="shortcut icon" title="crobara2bal" type="image/png" href="mafavicon.png" />
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <title>Sports / Tous les dessins concernant le Sport</title>
    <link href="css1.css" rel="stylesheet" type="text/css">
    </head>
     
    <body>
    <div id="container">
    <?php include("header.inc.php"); ?>
    <?php include("menus.inc.php"); ?>
    <div id="corpssports">
    <a href="dessins.php" title="retourner aux catégories"><p class="titrevignette1">Catégories</p></a>
    <a href="sports.php" title="recharger la page"><h1 class="titre1">Sports</h1></a>
     <div id="textesports">
     <p class="texte2">Ici vous trouverez tous ce qui est concerne le sport en dessins.</p>
     
     </div>
     <?php while ($dessins = $reponse->fetch())
     {
     ?>
    <div class="cat1">
      <?php echo "<span class='classtext1v'>".$dessins['categorie']."</span>"; ?>
      <br />
      <?php echo "<span class='classtext2v'>".$dessins['titre']."</span>"; ?>
      <br />
      <a href="selection.php?categorie=<?php echo $dessins['categorie']; ?>&amp;titre=<?php echo $dessins['titre']; ?>&amp;titre=<?php echo $dessins['description']; ?>&amp;image=<?php echo $dessins['image']; ?>"><img src="images/<?php echo $dessins['image'];?>" width="200" height="250" /></a>
    </div>
     
    <? } $reponse->closeCursor(); ?>
    </div>
     
    <?php include("footer.inc.php"); ?>
    </div>
    </body>
    </html>
    Merci pour vos aide.

  8. #8
    Membre du Club
    Inscrit en
    Juin 2002
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 36
    Points : 42
    Points
    42
    Par défaut
    As-tu bien sauvegardé tes fichiers PHP en utf-8 ? Y compris les fichiers inclus ?

  9. #9
    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
    Tu as bien fait le SET NAMES "utf8"; ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  10. #10
    Membre régulier
    Homme Profil pro
    Inscrit en
    Février 2013
    Messages
    149
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Février 2013
    Messages : 149
    Points : 87
    Points
    87
    Par défaut
    Re,

    Oui dans la requête SQL de PHPmyAdmin j'ai bien fait la même action copier/coller, j'utilise dreamweaver pour coder, dans les préférence il enregistre bien les documents en : Unicode utf8. la case inclure une signature unicode BOM n'est pas cocher.

    Merci pour votre aide.

  11. #11
    Membre expert
    Avatar de ericd69
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2011
    Messages
    1 919
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2011
    Messages : 1 919
    Points : 3 295
    Points
    3 295
    Billets dans le blog
    1
    Par défaut
    salut,

    vu qu'à priori tout à l'air bon, y a un moyen simple dans ce genre de problème pour savoir si c'est l'échange bd/php qui est la cause:
    • tu écris une phrase dans ta page avec php en utilisant des caractères accentués
    • tu lis du texte venant de ta bd et tu l'affiches à coté...

    si ce qui vient de la bd contient les ? à la place de tes caractères accentués et que ta phrase test direct est bien affichée, c'est donc la liaison php/mysql qui est la cause...

    après ça dépend donc de ce que tu utilises pour accéder à mysql (mysqli,pdo) dans la classe qui gère la connexion au sgbd
    soyons pensez à mettre quand votre problème est résolu ou à utiliser pour les réponses pertinentes...
    ne posez pas de problématique soi-disant simplifiée sur des problèmes que vous n'êtes pas capable de résoudre par respect pour ceux qui planchent dessus... sinon: et à utiliser pour insérer votre code...

  12. #12
    Membre régulier
    Homme Profil pro
    Inscrit en
    Février 2013
    Messages
    149
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Février 2013
    Messages : 149
    Points : 87
    Points
    87
    Par défaut
    Merci à tous pour votre aide, j'ai enfin compris la solution.
    Je ne voyais pas ou placer ce fameux "SET NAMES "utf8";".
    c'est a la connexion de la base de donnée qu'il faut l'insérer :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $bdd = new PDO('mysql:host=localhost;dbname=nom_de_la_base;charset=utf8', 'login', 'mot_de_passe', array(PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8'));
    et concernant le problème des /.
    J'utilise tous simplement stripslashes() de cet manière pour le cas d'information venant d'une table ( d'une BDD )
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <?php echo stripslashes($_GET['description']); ?>
    J'èspère que sa pourra être utile pour certain qui on eu le même soucis.
    merci encore à tous ceux qui mon apporté leur aide.
    Sincèrement.

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

Discussions similaires

  1. [MySQL] Afficher/Modifier BDD PHP/MySQL
    Par ljuboja78 dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 08/07/2009, 16h46
  2. [MySQL] Mon formulaire envoie des champs vide à ma BDD (PHP/MYSQL)
    Par neoweiter dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 06/07/2009, 08h22
  3. [Débutant] radio button et BDD (javascript/PHP/MySQL)
    Par stringman62 dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 12/02/2007, 19h03
  4. [SGBD] [PHP/MySQL] pb d'UPDATE dans la bdd
    Par sagitarium dans le forum Requêtes
    Réponses: 7
    Dernier message: 19/05/2006, 17h25

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