Téléchargement
illégal
Posez votre question Signaler

Mail() php probléme d'accent dans sujet [Résolu]

benoitXV 187Messages postés 2 juin 2008Date d'inscription 11 mai 2012Dernière intervention - Dernière réponse le 13 mai 2012 à 21:55
Bonjour,
J'ai un problème (souvent évoqué I Know!)
J'envoi un mail (en php) dont les éléments sont importé depuis une base postgresql.
Le corps du message (qui contient des caractères accentués) est correct a la reception de e-mail.
Mais le sujet me donne "Validation de l'inscription sur A\&\eacute;ro-dico." à la place de
"Validation de l'inscription sur Aéro-dico."
Si je fait un echo sur la chaine de caractère correspondante au sujet. Le resultat est correcte.
Je seche...
mon header:
$headers="From: aero-dico \n";
$headers.="Reply-To: \n";
$headers.= "MIME-version: 1.0\n";
$headers.= "Content-type: text/html; charset= UTF-8\n";
merci d'avance
Lire la suite 

Mail() php probléme d'accent dans sujet »

14 réponses
Réponse
+13
moins plus
Bonjour,
Bien que le sujet soit vieux, une rechercher de "accent sujet mail" dans google renvoie cette page en premier résultat.
Une fonction PHP encodera votre sujet comme vous le désirez : mb_encode_mimeheader()
memelo - 5 juil. 2011 à 12:22
Merci beaucoup Laugarhraun !! J'ai essayé toutes les solutions du dessus avec d'appliquer la tienne et je commencais à désespérer... Ta solution devrais se retrouver en tete de ce poste !!
Merciiiiiiii encore !
SomeoneOnTheWeb - 2 mai 2012 à 12:23
Pour moi c'est la solution de Krol17 qui fut la plus efficace. ;)

Ne pas oublier, bien sûr, la dernière ligne des headers :
" $headers .='Content-Transfer-Encoding: 8bit'; "

mb_encode_mimeheader() ne marche pas dans mon cas...
Ajouter un commentaire
Réponse
+7
moins plus
Pour que le sujet du mail prennent bien en compte les accents, il faut ajouter devant utf8_decode.

Ce qui donne :

$headers ='From: "Contact"<contact@contact.com>'."\n";
$headers .='Reply-To: contact@contact.com'."\n";
$headers .='Content-Type: text/html; charset="UTF-8"'."\n";
$headers .='Content-Transfer-Encoding: 8bit';

$sujet = utf8_decode('RemplaClinic : Clôture de la demande du');

mail('email@email.com', $sujet, 'Mon message', $headers);

Et voila plus de souci avec l'accent dans le sujet.
houhou - 18 févr. 2011 à 12:39
tu es fort vraiment
Jéjé - 8 sept. 2011 à 15:57
Yesss, c'est la solution qui a marché pour moi. Merci.
yoyo - 17 janv. 2012 à 17:10
Merci beaucoup et ça marche très bien !
Ajouter un commentaire
Réponse
+4
moins plus
c'est html_entity_decode()
Ajouter un commentaire
Réponse
+2
moins plus
htmlentites() ?
Ajouter un commentaire
Réponse
+2
moins plus
En fait c'etais l'inverse.


html_entity_decode($mon_sujet, ENT_QUOTES,'UTF-8');


merci
arnaudligth - 23 juin 2008 à 16:47
ça veux dire que ça marche?
lequel htmlentities ou html_entity_decode()?
Ajouter un commentaire
Réponse
+0
moins plus
j'ai bien essayé htmlentities(mon_sujet, ENT_QUOTES,'UTF-8');
mais c'est pire.
Ajouter un commentaire
Réponse
+0
moins plus
bonjour, au cas où ça intéresse quelqu'un,
même problème sur le sujet mais uniquement si le destinataire est sur mac ou ipad, le corps lui est correct et en iso-8859-15. Pas de problème sur windows.
Ajouter un commentaire
Ce document intitulé « mail() php probléme d'accent dans sujet » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?