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 mal affichés [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre du Club
    Homme Profil pro
    Webmaster
    Inscrit en
    Mai 2006
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Mai 2006
    Messages : 35
    Points : 46
    Points
    46
    Par défaut Caractères accentués mal affichés
    Bonjour,

    Il y a de nombreux articles sur ce sujet mais aucun ne s'est appliqué à mon cas, ou je n'ai pas tout compris.
    Dans mes tables sous mySQL, l'encodage est utf8mb4_general_ci (hébergeur ovh).
    Et mes données accentuées apparaissent correctement.
    Mais lorsque je récupère mes données par un SELECT dans ma page web, les caractères accentués sont modifiés (exemple Carré s'affiche - voir Pièce jointe -).
    L'en-tête de ma page php est comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <?php header('content-type:text/html; charset=iso-8859-1'); ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    	  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <HTML xmlns="http://www.w3.org/1999/xhtml" xml: lang="fr" lang="fr">
    <TITLE>mon titre</TITLE>
    <HEAD>
    <META http-equiv="Content-Type" content="text/html;charset=iso-8859-1" />
    Comment corriger ?

    Cordialement.
    Images attachées Images attachées  

  2. #2
    Membre du Club
    Homme Profil pro
    Webmaster
    Inscrit en
    Mai 2006
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Mai 2006
    Messages : 35
    Points : 46
    Points
    46
    Par défaut
    J'ai trouvé, utf8_decode

  3. #3
    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
    utf8mb4_general_ci est un interclassement, pas un encodage.

    La solution n'est pas de faire un utf8_decode() des données mais de les avoir directement dans le bon encodage.
    Pourquoi ta page est en "iso-8859-1" si tu as des données en UTF8 ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  4. #4
    Membre du Club
    Homme Profil pro
    Webmaster
    Inscrit en
    Mai 2006
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Mai 2006
    Messages : 35
    Points : 46
    Points
    46
    Par défaut
    Si les données de ma page web ne sont pas en iso-8859-1, dans ce cas ce sont les caractères accentués qui ne s'affichent pas correctement.
    J'avais un problème uniquement avec les données récupérées de ma base mySQL.

  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
    Vérifie que ton fichier lui même est bien encodé en UTF8.
    Il faut que tout soit aligné sur le même encodage : fichier, document HTML, connexion à la base de données.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

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

Discussions similaires

  1. Caractères accentués non affichés
    Par liox* dans le forum Débuter
    Réponses: 8
    Dernier message: 21/04/2009, 08h36
  2. Réponses: 1
    Dernier message: 29/03/2009, 17h45
  3. [SQL] Les caractère accentués s'affichent mal après une requête SQL
    Par sayerh dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 04/03/2008, 11h56
  4. [SQL] Problème d'encodage : les caractères accentués, sont affichés en "?"
    Par arnaudperfect dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 12/10/2007, 14h57
  5. Réponses: 2
    Dernier message: 21/09/2007, 14h43

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