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

HTML Discussion :

théâtral où : Quel encodage est-ce ?


Sujet :

HTML

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    749
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 749
    Par défaut théâtral où : Quel encodage est-ce ?
    Bonjour,

    j'utilise phpList pour envoyer le bulletin d'info d'une association.
    A priori j'ai des données bien enregistrées en UTF8 dans la base, mais j'obtiens un mail avec un contenu brut étrange :
    théâtral où se croisent
    au lieu de :
    théâtral où se croisent


    Pourtant je trouve bien dans le code du mail :
    Content-Type: text/html; charset = "UTF-8"
    Content-Transfer-Encoding: 8bit

    et :
    <http-equiv="Content-Type" content="text/html;
    charset=UTF-8">


    Que se passe-t-il ?


    Merci pour l'aide
    PAul

  2. #2
    Membre extrêmement actif
    Avatar de Muchos
    Homme Profil pro
    Enseignant
    Inscrit en
    Décembre 2011
    Messages
    1 704
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Décembre 2011
    Messages : 1 704
    Billets dans le blog
    6
    Par défaut
    Il s'agit de caractères UTF-8 encodés en ISO. Il y a donc un ou plusieurs problèmes dans votre chaîne d'encodage.
    Je vous conseille de suivre les étapes de ce tuto sur l'encodage UTF-8.

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    749
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 749
    Par défaut
    Merci pour ces liens très intéressants que je vais étudier.

    Je me demande si je n'ai pas un problème de base créée en latin et incomplètement passée en utf8 :
    tout est passé en utf8 sauf 2 choses qui sont restées inchangées :
    character_set_server --- latin1
    collation_server --- latin1_swedish_ci


    C'est peut-être la cause de mon problème ?
    Comment les passer en :
    character_set_server --- utf-8
    collation_server --- utf8_general_ci


  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    749
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 749
    Par défaut
    Je n'ai toujours pas réglé l'origine de ces problèmes d'encodage.

    Mais pour contourner, j'ai trouvé une vilaine astuce qui marche presque...
    Avant l'insertion du contenu du message, j'ajoute cette ligne php :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    $html = utf8_decode($html);

    Dans le mail je récupère presque tous les caractères accentués tels quels. Sauf ces 3 pour lesquels je récupère un ? à la place :


    Œ


    Pourquoi ces caractères-là ne s'affichent-ils pas bien ?

  5. #5
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 582
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 582
    Par défaut
    Comme l'indique la doc de utf8_decode(), Cela convertit du utf-8 vers du iso-8859-1.

    Comme le dit le premier commentaire de cette même page, iso-8859-1 n'inclut pas les caractères € ou Œ (un peu normal pour l'euro : c'est un standard iso bien plus vieux que lui.) La solution suggérée de convertir d'utf-8 à windows-1252 à la place, devrait marcher.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    749
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 749
    Par défaut
    Citation Envoyé par thelvin Voir le message
    La solution suggérée de convertir d'utf-8 à windows-1252 à la place, devrait marcher.
    Aïe... j'ai essayé
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $html = iconv("utf-8", "CP1252", $html);
    mais ça bloque le script.

    En fait mon souci c'est que je n'ai pas trouvé comment avoir la main sur l'encodage iso-8859-1 qui est attendu lors du process. C'est le fond du problème :
    toutes mes données sont en UTF8 mais au moment d'écrire le mail, le script attend de l'iso-8859-1...

    J'essayais donc seulement de contourner ce problème avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $html = utf8_decode($html);
    C'est mort ? Il n'existe pas de moyen de récupérer les caractères € …Œ etc ?...

Discussions similaires

  1. Sur quel partition est mon fichier?
    Par nicolaskarp dans le forum Administration système
    Réponses: 8
    Dernier message: 15/12/2005, 17h40
  2. reconnaitre quel windows est installé sur un PC
    Par oeil de nuit dans le forum Autres Logiciels
    Réponses: 6
    Dernier message: 13/12/2005, 15h53
  3. Réponses: 4
    Dernier message: 14/10/2005, 19h53
  4. comment savoir quel menu est en surbrillance?
    Par LRobi dans le forum MFC
    Réponses: 2
    Dernier message: 27/01/2005, 09h04
  5. Savoir quel OS est installer sur une machine
    Par batmat86 dans le forum C++Builder
    Réponses: 4
    Dernier message: 15/06/2004, 16h16

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