Problème d'encodage...

Discussion dans 'Développement d'un site Web ou d'une appli mobile' créé par Rod la Kox, 8 Novembre 2008.

  1. Rod la Kox
    Rod la Kox WRInaute accro
    Inscrit:
    24 Juin 2008
    Messages:
    2 780
    J'aime reçus:
    0
    Salut,

    J'ai un soucis d'encodage.
    Sur ma page "contact", j'ai un formulaire qui envoi le message dans ma boite mail.

    Lorsque je reçois celui-ci, les lettres accentuées sont du type à pour à, é pour é, etc...

    Voici ma déclaration. La même que pour d'autre site pour qui je n'ai aucun soucis...

    Code:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    	"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
    <head>
    	<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
    Une idée ?

    Merci
     
  2. UsagiYojimbo
    UsagiYojimbo WRInaute accro
    Inscrit:
    23 Novembre 2005
    Messages:
    12 009
    J'aime reçus:
    133
    Et le mail il est encodé comment lui ?
     
  3. Rod la Kox
    Rod la Kox WRInaute accro
    Inscrit:
    24 Juin 2008
    Messages:
    2 780
    J'aime reçus:
    0
    Ah bah oui...
    Code:
    Content-Type: text/plain
    Code:
    Content-Type: text/html
    C'est pareil... (même si ce n'est pas correct pour mes mail.)
     
  4. KOogar
    KOogar WRInaute accro
    Inscrit:
    16 Novembre 2004
    Messages:
    4 643
    J'aime reçus:
    82
    Dans le message de ton mail, précise que tu veux 1 encodage Latin: charset=ISO-8859-1

    Code:
    <?php 
    
        $texte_plain = "hello Dude \n"; 
        $texte_html = "hello Dude <br />"; 
    
        $mime_boundary = "----nomdusite----".md5(time()); 
        $entetes = "From: nomdusite <services@ndd.com>\n";
        $entetes .= "Mime-Version: 1.0\n"; 
        $entetes .= "Content-Type: multipart/alternative; boundary=\"$mime_boundary\"\n"; 
    
        # TEXT EMAIL 
        $mess = "--$mime_boundary\n"; 
        $mess .= "Content-Type: text/plain; charset=ISO-8859-1\n"; 
        $mess .= "Content-Transfer-Encoding: 8bit\n\n"; 
        $mess .= $texte_plain; 
    
        # HTML EMAIL 
      
        $mess .= "--$mime_boundary\n"; 
        $mess .= "Content-Type: text/html; charset=ISO-8859-1\n"; 
        $mess .= "Content-Transfer-Encoding: 8bit\n\n"; 
        $mess .= $texte_html; 
    
    
        mail("email","titre",$mess,$entetes); 
    
        ?> 
     
  5. Rod la Kox
    Rod la Kox WRInaute accro
    Inscrit:
    24 Juin 2008
    Messages:
    2 780
    J'aime reçus:
    0
    Déjà essayé, ça ne change rien.
     
  6. UsagiYojimbo
    UsagiYojimbo WRInaute accro
    Inscrit:
    23 Novembre 2005
    Messages:
    12 009
    J'aime reçus:
    133
    Et autour des données saisies, avant de les concaténer pour générer le message, tu as essayé de jouer avec utf8_encode/utf8_decode ? Ca permet en général de résoudre ce genre de soucis.
     
  7. Rod la Kox
    Rod la Kox WRInaute accro
    Inscrit:
    24 Juin 2008
    Messages:
    2 780
    J'aime reçus:
    0
    Bah je viens de placer
    Code:
    "Content-Type: text/plain; charset=\"UTF-8\""
    pour tester et ça fonction...


    Mais je ne vois pas pourquoi et donc... ça me saoul.
    :roll:
     
  8. UsagiYojimbo
    UsagiYojimbo WRInaute accro
    Inscrit:
    23 Novembre 2005
    Messages:
    12 009
    J'aime reçus:
    133
    Je suis pas un pro de ce genre de choses mais je pense que pour envoyer tes mails en ISO, il faut au préalable encoder tes chaînes en iso, c'est à dire traduire tous les caractères accentués par leurs équivalents HTML, genre peut-être avec http://fr.php.net/htmlspecialchars.
     
  9. KOogar
    KOogar WRInaute accro
    Inscrit:
    16 Novembre 2004
    Messages:
    4 643
    J'aime reçus:
    82
    tu lui envoie de l'urf8, donc si tu met un charsert en urf8 rien de plus normal

    comme te la dit UsagiYojimbo, utilise utf8_decode($texte) avant d'envoyer ton mail, puis ensuite tu utilises charset=ISO-8859-1 dans le mail pour les caractères latins.
     
  10. dauzac
    dauzac WRInaute discret
    Inscrit:
    8 Avril 2003
    Messages:
    116
    J'aime reçus:
    0
    Rod la Kox,

    tiens nous au courant de la résolution de ton problème : j'ai le même que toi ...

    Comme complément d'info, j'ajouterai que si le message est envoyé par mail() sur :
    - une adresse @neuf.fr : affichage OK.
    - une adresse @monsitemutu.com : le problème d'affichage persiste.

    Ma solution temporaire :
    - j'ai supprimé tous les accents dans l'objet du message,
    - j'ai remplacé les caractères accentués par leur équivalent (&eacute; pour é - &egrave; pour è - etc ...) dans le texte du message.

    A+
     
  11. UsagiYojimbo
    UsagiYojimbo WRInaute accro
    Inscrit:
    23 Novembre 2005
    Messages:
    12 009
    J'aime reçus:
    133
    @dauzac si tu veux envoyer tes mails en ISO 8859-1, ta solution n'est pas la solution temporaire mais la bonne solution.

    Il suffirait d'encoder le mail en UTF-8 pour ne pas avoir a remplacer tes caractères particuliers par leurs entités HTML.
     
  12. KOogar
    KOogar WRInaute accro
    Inscrit:
    16 Novembre 2004
    Messages:
    4 643
    J'aime reçus:
    82
    je suis d'accord avec toi, le bibouillage n'est pas pérenne

    on peut résumer comme cela :

    A) le texte est en UTF8 -> mettre le charset du mail en UTF8
    B) le texte est en latin -> mettre le charset du mail en ISO

    si le texte est en latin et que l'on veut le charset du mail en UTF8
    il faut dans ce cas passer le texte en UTF8 avec la fonction php : utf8_encode() pour retrouver le cas A)

    si le texte est en UTF8 et que l'on veut le charset du mail en ISO
    il faut dans ce cas passer le texte en latin avec la fonction php : utf8_decode() pour retrouver le cas B)
     
Chargement...
Similar Threads - Problème encodage Forum Date
Problème d'encodage Développement d'un site Web ou d'une appli mobile 30 Janvier 2015
Problème d'encodage caractère Google+ 6 Août 2014
Problème encodage UTF-8 Problèmes de référencement spécifiques à vos sites 4 Octobre 2013
Problème d'encodage... Développement d'un site Web ou d'une appli mobile 2 Mars 2012
Problème d'encodage url les é devient %E9 URL Rewriting et .htaccess 22 Décembre 2011
Problème d'affichage des entrées SQL (encodage) Développement d'un site Web ou d'une appli mobile 16 Avril 2011
Problème encodage de mon Blog utf-8 et iso-latin Développement d'un site Web ou d'une appli mobile 13 Février 2011
Analyse des balises meta problème d'encodage Développement d'un site Web ou d'une appli mobile 8 Février 2011
probleme d'encodage Développement d'un site Web ou d'une appli mobile 26 Octobre 2010
probleme encodage Développement d'un site Web ou d'une appli mobile 17 Avril 2010
Crawl ne dépasse pas la page d'accueil et semblant de problème d'encodage Administration d'un site Web 8 Mars 2010
Problème d'encodage "é" en é ! Développement d'un site Web ou d'une appli mobile 6 Février 2010
Problème d'encodage? Développement d'un site Web ou d'une appli mobile 27 Janvier 2010
problème encodage Développement d'un site Web ou d'une appli mobile 19 Septembre 2009
Problème de fou avec parsage de flux xml traded*** et encodage utf8 en php Développement d'un site Web ou d'une appli mobile 16 Septembre 2009
[MYSQL/PHP] Probleme d'encodage et serialize Développement d'un site Web ou d'une appli mobile 22 Juin 2009
Problème encodage iso et utf-8 Joomla 1.0.15 Développement d'un site Web ou d'une appli mobile 15 Juin 2009
Problème d'encodage Développement d'un site Web ou d'une appli mobile 23 Mai 2009
Problème d'encodage de l'apostrophe ’ Développement d'un site Web ou d'une appli mobile 10 Avril 2009
Problème d'encodage Développement d'un site Web ou d'une appli mobile 23 Février 2009