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 :

Problème d'encodage UTF8


Sujet :

Langage PHP

  1. #1
    Membre expérimenté

    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    1 278
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 278
    Points : 1 639
    Points
    1 639
    Par défaut Problème d'encodage UTF8
    J'ai un problème d'affichage avec l'utf8.
    J'ai une page XHTML encodée en UTF8 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <?xml version="1.0" encoding="UTF-8" ?>
    <!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">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <title>Insert title here</title>
    </head>
    <body>
     
    </body>
    </html>
    Dans mon script php, j'envoie la chaîne "C'est l'été" par utf8_encode() :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    ...
    <body>
    <?php echo utf8_encode("C'est l'été"); ?>
    </body>
    ...
    Mais dans mes navigateurs (FF1.5, Opera 9, IE6), les caractères accentués sont mal rendus :
    Comment rendre des caractères accentués normalement ?
    Je précise que j'ai lu les tutoriels, fais des recherches sur des dizaines de messages des forums, ainsi que dans Google : rien !

  2. #2
    Membre averti
    Inscrit en
    Janvier 2004
    Messages
    533
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 533
    Points : 313
    Points
    313
    Par défaut
    Bonjour,

    essaie de mettre l'encodage en ISO-8859-1.
    N'oubliez pas le tag .
    Merci de ne pas envoyer de MP pour des problèmes techniques.

  3. #3
    Membre expérimenté

    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    1 278
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 278
    Points : 1 639
    Points
    1 639
    Par défaut
    Citation Envoyé par navis84
    Bonjour,

    essaie de mettre l'encodage en ISO-8859-1.
    Ben non, justement ! Je souhaite faire tout mon site en utf8...

  4. #4
    Membre averti
    Inscrit en
    Janvier 2004
    Messages
    533
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 533
    Points : 313
    Points
    313
    Par défaut
    Il faudrait alors que tu passes par la fonction htmlentities...
    N'oubliez pas le tag .
    Merci de ne pas envoyer de MP pour des problèmes techniques.

  5. #5
    Membre expérimenté

    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    1 278
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 278
    Points : 1 639
    Points
    1 639
    Par défaut
    Citation Envoyé par navis84
    Il faudrait alors que tu passes par la fonction htmlentities...
    Quel est le rapport avec UTF8 ?
    Voilà ce que ça donne en rajoutant htmlentities() :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <?php echo utf8_encode(htmlentities("C'est l'été")); ?>
    // => C'est l'été
     
    <?php echo htmlentities(utf8_encode("C'est l'été")); ?>
    // => C'est l'�©t�©

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 8
    Points : 10
    Points
    10
    Par défaut
    Salut,

    Je pense que le problème vient de l'encodage de ton editeur de texte:
    Si ton fichier source est encodé en utf8 par ton éditeur de texte inutile de mettre utf8_encode.
    Si ton fichier source est encodé en ISO-8859-1 par ton éditeur de texte alors tu peux utiliser utf8_encode.

    En gros, ton code devrait marcher si le fichier est encodé en ISO-8859-1.

  7. #7
    Membre expérimenté

    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    1 278
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 278
    Points : 1 639
    Points
    1 639
    Par défaut
    Citation Envoyé par stupman
    Si ton fichier source est encodé en utf8 par ton éditeur de texte inutile de mettre utf8_encode.
    Bien vu !
    Je travaille avec le plugin Zend Php pour éclipse, qui a encodé mon fichier source en utf8. Du coup, j'écris les accents normalement, et ça marche !
    Merci pour ton aide

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

Discussions similaires

  1. [ZF 1.11] problème d'encodage utf8
    Par keokaz dans le forum Zend Framework
    Réponses: 3
    Dernier message: 02/09/2011, 23h42
  2. [PostgreSQL] Problème d'encodage UTF8
    Par simondu43 dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 04/02/2011, 14h25
  3. Problème d'encodage (utf8)
    Par s0ak68 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 21/01/2008, 14h21
  4. Problèmes d'encodage utf8
    Par gvdmoort dans le forum Ruby on Rails
    Réponses: 2
    Dernier message: 09/09/2007, 16h32
  5. [MySQL] Problème d'encodage utf8
    Par tomix81 dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 25/07/2007, 22h31

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