Caractères accentués via mail()

Si un(e) pro du PHP passe par ici, peut-être pourra-t-il(elle) m’aider sur la fonction PHP mail. Mon problème se situe au niveau des accents, pour envoyer des notifications en français et en espagnol.

Malgré un jeu de caractères universel dans l’en-tête (charset= »utf-8″), malgré toutes sortes de tentatives d’encodage (utf8_encode) et de décodage (utf8_decode), je ne parviens pas à faire passer de caractères accentués dans les messages envoyés par mail.

Quelqu’un a une petite idée, voire une solution?

Merci d’avance!

This entry was posted in Programmation. Bookmark the permalink.

6 Responses to Caractères accentués via mail()

  1. le tam tam says:

    as-tu essayé d’utiliser plutôt une class comme phpmailer?

  2. La fonction mail est en fait une fonction unix permettant d’envoyer des mails depuis un serveur. Il est possible que le problème se situe sur ton serveur et non pas dans ton code PHP. J’ai essayé la méthode avec des caractères accentués, je n’ai eu aucun problème. :-/

  3. David TOUVET says:

    je ne rencontre également aucun problème pour envoyer ma mailing-liste. voici le code que j’utilise:

    $headers= »From: \n »;
    $headers.= »Reply-To: \n »;
    $headers.= « MIME-version: 1.0\n »;
    $headers.= « Content-type: text/html; charset= UTF-8\n »;
    //envoi de l’email
    mail($email,$sujet,$message,$headers);

  4. fred says:

    Avez vous trouvé la solution? J’ai le meme problème sur canalblog avec feedburner et ces accents….. repondez moi svp je ne sais pas comment faire

  5. Ollie says:

    Après pas mal d’essais, je m’en sors avec une pirouette en PHP de type $text = iconv('UTF-8', 'ISO-8859-1//TRANSLIT', $text);. Evidemment, c’est seulement possible si vous avez le contrôle sur le code du module qui envoie les e-mails.

    Pour Canalblog + Feedburner, c’est une tout autre histoire. Je pense que le mieux pour vous est de poser la question sur le forum de FeedBurner ou à d’autres canalblogueurs qui utiliseraient FeedBurner.

  6. Vaness says:

    Nickel le code Ollie ($text = iconv(‘UTF-8′, ‘ISO-8859-1//TRANSLIT’, $text) ! merci !!

    Par contre, sous Outlook, lorsque l’on ouvre le mail, les caractères accentués laissent la place à un grand vide… Qqn aurait une autre solution en complément?

    Code :
    $sujet .= « exple de caractère accentué « ;
    // fonctionne mais dès que l’on ouvre le mail, on retrouve « exple de caractre accentu »
    $sujet = iconv(‘UTF-8′, ‘ISO-8859-1//TRANSLIT’, $sujet);
    mail($Mail,$sujet,$message_html,$entetes);

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

*

Vous pouvez utiliser ces balises et attributs HTML : <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

« Back to text comment