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

Langage PHP Discussion :

affichage en UTF-8


Sujet :

Langage PHP

  1. #1
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 468
    Points : 5 826
    Points
    5 826
    Billets dans le blog
    1
    Par défaut affichage en UTF-8
    Bonjour,

    j'ai un problème d'affichage des caractères spéciaux (accents, trémas, etc.) sur une page PHP qui récupère des données dans une base MySQL. Pourtant, j'ai encodé la page en UTF-8, y est rajouté la ligne header('Content-Type: text/html; charset=utf-8'); et dans le head <meta http-equiv="content-type" content="text/html;charset=utf-8"> et passé la base en UTF-8 par la requête ALTER TABLE 'nom_de_la_table' DEFAULT CHARACTER SET utf8 COLLATE utf8_bin
    Que faudrait-il faire ?

  2. #2
    Membre éprouvé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2009
    Messages
    736
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Maroc

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

    Informations forums :
    Inscription : Mai 2009
    Messages : 736
    Points : 1 101
    Points
    1 101
    Par défaut
    Tes accent dans la base doit être encodé en utf8
    exemple "école" doit être stocké dans la base "école".

    Si ta une page UTF8 et tu post un formulaire d'insertion, automatiquement les donné sont stocké encodé

  3. #3
    Expert éminent sénior

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

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

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 389
    Points : 10 422
    Points
    10 422
    Par défaut
    Citation Envoyé par m4riachi Voir le message
    Tes accent dans la base doit être encodé en utf8
    exemple "école" doit être stocké dans la base "école".
    Non ! Avec un encodage cohérent le texte visible dans la bdd sera "école"

    @laurentSc quand tu te connecte avec php à ta base il faut lui dire que tu travaille en utf-8 (car c'est encore iso par défaut).

    Juste après la connexion à ta base et avant tes autres requêtes il faut faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mysql_query("SET NAMES 'utf8'");
    avec PHP 5 >= 5.2.3 et MySQL version 5.0.7 ou supérieure il est conseillé de faire à la place
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mysql_set_charset ('utf8');

  4. #4
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 468
    Points : 5 826
    Points
    5 826
    Billets dans le blog
    1
    Par défaut
    Salut,

    et merci pour ton intervention ;
    j'en ai un peu chié avec mon PC, car l'affichage était tourné de 90° et j'ai mis du temps à trouver l'option pour le remettre droit ; c'est quand même plus confortable
    ta proposition marche bien sauf que comme je suis en MySQLi, j'ai du mettre @mysqli_query("SET NAMES 'utf8'",$id_conni);, le @ servant à ne pas afficher ce warning :
    mysqli_query() expects parameter 1 to be mysqli, string given in ...
    Comment peut-on ne pas l'avoir ?

  5. #5
    Expert éminent sénior

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

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

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 389
    Points : 10 422
    Points
    10 422
    Par défaut
    Citation Envoyé par laurentSc Voir le message
    Comment peut-on ne pas l'avoir ?
    en écrivant la syntaxe correcte :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mysqli_set_charset($id_conni,'utf8');
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    mysqli_query($id_conni,"SET NAMES 'utf8'");

  6. #6
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 468
    Points : 5 826
    Points
    5 826
    Billets dans le blog
    1
    Par défaut
    Bien joué

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

Discussions similaires

  1. Affichage encodage utf-8
    Par soccersoft dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 15/12/2010, 22h52
  2. affichage données UTF-8
    Par capitaina dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 25/06/2007, 17h42
  3. Problème d'affichage en UTF-8
    Par pdau2571 dans le forum Zope
    Réponses: 1
    Dernier message: 05/03/2007, 12h00
  4. Problème d'affichage des caratères non UTF-8
    Par tit_pierre dans le forum Langage
    Réponses: 1
    Dernier message: 07/09/2006, 23h11
  5. [MySQL] Problème d'affichage de caractères UTF-8
    Par Metallic-84s dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 19/05/2006, 16h38

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