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 Discussion :

Problème avec les accents - UTF-8 [1.x]


Sujet :

PHP

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    74
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 74
    Points : 49
    Points
    49
    Par défaut Problème avec les accents - UTF-8
    Bonjour,

    J'ai des accents qui ne veulent pas être affichés correctement.
    Je suis en UTF-8 dans settings.yml:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    all:
      .settings:
     
        # Output escaping settings
        escaping_strategy:      true
        escaping_method:        ESC_SPECIALCHARS
     
        # Enable the database manager
        use_database:           true
     
        default_culture: fr_FR
        charset: utf-8
        i18n: true
    Dans mon template principal layout.php, j'ai mis "fr"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <!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">
    Dans un des mes templates, le résultat retourné est ok pas les lables
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
       
        <tr>
          <th>Prénom:</th> //KO
          <td><?php echo $contact->getPrenom() ?></td> //OK
        </tr>

  2. #2
    Membre émérite
    Avatar de Seb33300
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2007
    Messages
    1 564
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Thaïlande

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

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 564
    Points : 2 399
    Points
    2 399
    Par défaut
    C'est l'encodage de ton fichier qui ne doit pas être bon.

    Sous notepad++, dans le menu encodage, regarde dans quel encodage se trouve ton fichier.

    Et converti le si c'est pas le bon (en passant par "Convertir en ...")

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    74
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 74
    Points : 49
    Points
    49
    Par défaut
    Je suis sous Eclipse avec un module php.
    Dans les "properties" du fichier c'était cp1252. J'ai mis UTF-8 et ré-enregistré le fichier mais même résultat.

    J'ai trouvé dans "preferences" le même paramètre par défaut pour Eclipse. J'ai mis UTF-8.

    Je dois ré-enregistrer tous mes fichiers? (c'est impossible...)

  4. #4
    Nouveau membre du Club
    Inscrit en
    Décembre 2010
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Décembre 2010
    Messages : 30
    Points : 30
    Points
    30
    Par défaut
    Pour Eclipse Helios, tu vas dans Window > Preferences > General > Workspace, tu trouveras en bas a gauche un encart "Text File Encoding" par défaut sur CP1252, tu choisis UTF-8 et Eclipse fera le reste

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    74
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 74
    Points : 49
    Points
    49
    Par défaut
    Merci. J'ai Eclipse Indigo et ça marche

    Sauf que cela ne résout pas mon problème d'accent.

    Une autre idée?

  6. #6
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 727
    Points
    10 727
    Par défaut
    ton serveur renvoie bien de l'utf-8 ?

    (ex : sur firefox -> clique droit -> informations sur la page -> encodage)

  7. #7
    Nouveau membre du Club
    Inscrit en
    Décembre 2010
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Décembre 2010
    Messages : 30
    Points : 30
    Points
    30
    Par défaut
    Question certes toute bête, mais je préfère la poser :

    Dans ton layout, tu as bien inclu l'instruction :

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <head>
      <?php include_http_metas() ?>
      //[...]
    </head>

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    74
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 74
    Points : 49
    Points
    49
    Par défaut
    La réponse est oui pour vos deux propositions

    Firefox:
    Encodage: UTF-8

  9. #9
    Nouveau membre du Club
    Inscrit en
    Décembre 2010
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Décembre 2010
    Messages : 30
    Points : 30
    Points
    30
    Par défaut
    Hmmm ...

    Tu pourrais coller ici le code source de la page générée (entête + exemple de texte mal lu ?)

    Car là, à part le navigateur utilisé qui force la lecture dans un charset pas compatible je sèche ...

    Au cas où, pour le navigateur :

    • sous FF :
      View > Character Encoding > Auto-detect > Universal

    • sous IE :
      View > Encoding > Auto-detect (à cocher)

    • sous Chrome :

      Tools > Encoding > Auto-detect (à cocher)

  10. #10
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    74
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 74
    Points : 49
    Points
    49
    Par défaut
    Ok je fais ça ce soir (je suis au taf)

    Sinon ma base sql n'est pas en utf-8. Ca peut être le problème?

  11. #11
    Nouveau membre du Club
    Inscrit en
    Décembre 2010
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Décembre 2010
    Messages : 30
    Points : 30
    Points
    30
    Par défaut
    Citation Envoyé par Laurent001 Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
       
        <tr>
          <th>Prénom:</th> //KO
          <td><?php echo $contact->getPrenom() ?></td> //OK
        </tr>
    Citation Envoyé par Laurent001 Voir le message
    Sinon ma base sql n'est pas en utf-8. Ca peut être le problème?
    De ce que j'avais compris, c'est ce qui était écrit "en dur" dans le fichier qui n'apparaissait pas correctement ...

    Mais effectivement, si ce sont les données issues de la BDD qui n'apparaissent pas correctement, il faudrait modifier le charset de la base de manière globale (Base, table, champs, connexion, ...)

    Si tu postes la source demandée plus haut, précise quelles sont les données issues de la BDD, et quelles sont celles inscrites en dur dans le fichier ...

  12. #12
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    74
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 74
    Points : 49
    Points
    49
    Par défaut
    C'est bien ce qui est en dur qui ne s'affichait pas correctement.

    J'emploie l'imparfait car je viens de réouvrir Eclipse et dans le template, les accents étaient des caractères spéciaux. J'ai corrigé et ça s'affiche bien

    Je suppose que la transcription des caractères en UTF-8 par Eclipse a créé ses caractères spéciaux. Et j'avais pas checké.

    Merci beaucoup !!

    Pour info, voilà l'entête de mon template:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <!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">
      <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
            <title></title>
        <link rel="shortcut icon" href="/favicon.ico" />
        <link rel="stylesheet" type="text/css" media="screen" href="/css/main.css" />

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

Discussions similaires

  1. XMLHTTP, problèmes avec les accents
    Par Berliozz dans le forum ASP
    Réponses: 4
    Dernier message: 21/06/2006, 11h32
  2. AJAX : Problème avec les accents...
    Par @drien dans le forum XML/XSL et SOAP
    Réponses: 2
    Dernier message: 29/01/2006, 14h33
  3. Petit problème avec les accents circonflexes...
    Par Harvester dans le forum Autres Logiciels
    Réponses: 8
    Dernier message: 29/11/2005, 18h44
  4. [HTML][Encodage] Problèmes avec les accents...
    Par eraim dans le forum Entrée/Sortie
    Réponses: 4
    Dernier message: 26/05/2004, 10h11
  5. [JDBC] Problème avec les accents
    Par seawolfm dans le forum Administration
    Réponses: 2
    Dernier message: 29/01/2004, 14h56

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