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 :

Je suis perdu avec les encodages, accents et autres joyeusetés! [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Février 2009
    Messages
    92
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 92
    Points : 64
    Points
    64
    Par défaut Je suis perdu avec les encodages, accents et autres joyeusetés!
    Bonsoir à tous,

    Béotien en php/Mysql, mes connections à la bdd vie php marchent bien, je peux écrire dedans et extraire les données, pas de problème, sauf... pour les caractères accentués que mes utilisateurs rentrent dans des textarea et des textbox...

    J'ai voulu utiliser htmlentities, puis html_entity_decode, mais sans succès...

    Pour ce que j'arrive à comprendre, ma base est en UTF-8 general-ci.

    Mon texte de test : j'étais bien bête à cet âge là ma mère

    SANS htmlentities :
    j'obtiens ceci dans ma base (vu avec phpMyadmin) : j'étais bien bête à cet âge là ma mère
    et lorsque j'extrais la valeur, que j'utilise html_entity_decode ou pas, je récupère exactement la même chose dans la page php/html...

    AVEC htmlentities : $string=htmlentitis($string);
    dans la base je vois ça : j'étais bien bête à cet âge-là ma mère
    et dans ma page php/html : j'étais bien bête à cet âge-là ma mère

    Si je récupère le texte de la base (avec les &..) que je le mets dans un fichier php de test avec html_entity_decode, j'obtiens ceci : j'étais bien bête àcet âge-làma mère
    Preuve que html_decode fait bien quelque chose, même si en partant du même texte j'obtiens deux choses différentes...

    Bref je patauge, il est tard... Vos idées sont les bienvenues!

    Un grand merci d'avance,

    Amicalement,

    JFB

  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
    ma base est en UTF-8 general-ci.
    Ca c'est un interclassement, ce n'est pas l'encodage.

    Applique les indications données ici :
    http://php.developpez.com/faq/?page=mysql#mysql-utf-8
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Février 2009
    Messages
    92
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 92
    Points : 64
    Points
    64
    Par défaut
    Bonjour Sabotage, merci de ton aide :-)

    Ca part mal : je fais un petit fichier test en php avec juste ça :
    header ('Content-type: text/html; charset=utf-8');
    echo 'é à ? û ü';

    que je mets sur mon serveur et ça me retourne 5 points d'interrogation!!

    Ce qui, si je comprends bien, veut dire que mon serveur n'est PAS en utf-8...?

    En fait mon serveur est en ISO-8859-1, avec les headers et set-names qui vont bien, ça marche nickel, un énorme merci, j'ai une présentation à faire ce matin, j'étais mal!!

    Amicalement,

    JFB

  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
    Ca part mal : je fais un petit fichier test en php avec juste ça :
    header ('Content-type: text/html; charset=utf-8');
    echo 'é à ? û ü';
    Si ce test ne marche pas c'est surtout que ton editeur de fichier ne doit pas produire des fichiers UTF8.
    Controle avec notepad++ ce que tu ecris comme encodage.
    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. Perdu avec les headers
    Par bluemartini dans le forum Débuter
    Réponses: 11
    Dernier message: 05/02/2009, 16h28
  2. De nouveau perdu avec les graphics
    Par olibara dans le forum C#
    Réponses: 2
    Dernier message: 25/03/2008, 00h21
  3. Perdu avec les vhostS
    Par tonf dans le forum Apache
    Réponses: 12
    Dernier message: 27/11/2007, 18h34
  4. [C# ado.NET] perdu avec les datarelations
    Par tatayet_le_felee dans le forum Accès aux données
    Réponses: 9
    Dernier message: 12/06/2007, 15h09
  5. [ODBC] Je suis perdu avec ODBC
    Par Nowhere dans le forum PHP & Base de données
    Réponses: 11
    Dernier message: 19/05/2006, 09h50

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