PHP et mail : codage charset=utf-8

Résolu/Fermé
dimi3 Messages postés 269 Date d'inscription mercredi 7 novembre 2007 Statut Membre Dernière intervention 1 avril 2011 - 13 déc. 2010 à 09:58
 c0boleis - 23 mai 2015 à 10:04
Bonjour,

Dans mon code d'envoi de courrier supposé contenir des lettres exotiques, j'ai mis :
<?php
...
$entete = "MIME-Version: 1.0\r\n";
$entete .= "Content-type: text/html; charset=utf-8\r\n";
...
if(!mail($vers_mail, $sujet, $message, $entete))
...
?>

A la réception du mail, j'obtiens des signes cabalistiques à la place des accents. Je me demande pourquoi mon charset=utf-8 n'a pas d'effets.

Je vous remercie de votre aide.



A voir également:

13 réponses

dimi3 Messages postés 269 Date d'inscription mercredi 7 novembre 2007 Statut Membre Dernière intervention 1 avril 2011 20
14 déc. 2010 à 19:39
J'ai trouvé : les textes du mail doivent être traités par la fonction utf8_decode() avant d'être envoyés.
7
dimi3 Messages postés 269 Date d'inscription mercredi 7 novembre 2007 Statut Membre Dernière intervention 1 avril 2011 20
13 déc. 2010 à 14:14
Merci de votre réponse. Je viens de tester. Le problème d'affichage n'a pas été résolu.
0
Melooo Messages postés 1405 Date d'inscription vendredi 28 novembre 2008 Statut Membre Dernière intervention 18 mars 2013 84
13 déc. 2010 à 14:20
Pourquoi mettre :
if(!mail($vers_mail, $sujet, $message, $entete))

Avec un point d'exclamation ?
Peut être faut-il spécifier tout ceci :
     $entete='From: "nom"<adresse@fai.fr>'."\n";
     $entete.='Reply-To: adresse_de_reponse@fai.fr'."\n";
     $entete.='Content-Type: text/html; charset="iso-8859-1"'."\n";
     $entete.='Content-Transfer-Encoding: 8bit'; 
0
dimi3 Messages postés 269 Date d'inscription mercredi 7 novembre 2007 Statut Membre Dernière intervention 1 avril 2011 20
13 déc. 2010 à 14:29
J'ai fait copier-coller trop long. La dernière ligne ne fait pas partie du code d'envoi du mail.
Oui, j'ai bien tout spécifié.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Melooo Messages postés 1405 Date d'inscription vendredi 28 novembre 2008 Statut Membre Dernière intervention 18 mars 2013 84
13 déc. 2010 à 14:33
Bon c'est peut être bizarre, mais à chaque fois que j'envoi un mail j'utilise iso et non utf-8 comme ceci :
$entete .="Content-type: text/html; charset=\"iso-8859-1\"\r\n";

Et tout fonctionne nickel
0
même avec cette entête j'ai le même probleme, le passage à la ligne ne marche pas.
$entete .= "Content-type: text/html; charset=\"iso-8859-1\"\r\n";
$Sujet = " SUJET TESTE";

$Msg .= "information 1\r\n\r\n";
$Msg .= "information 2 \r\n";
$Msg .= "teste 1\r\n\r\n ";
$Msg .= "teste 2 \r\n\r\n";

mail($email, $Sujet, $Msg,$entete);
0
dimi3 Messages postés 269 Date d'inscription mercredi 7 novembre 2007 Statut Membre Dernière intervention 1 avril 2011 20
13 déc. 2010 à 14:41
Je crois que iso-8859-1 est le code des caractères latins (européens). Mes mails à recevoir étant sensés contenir des caractères exotiques (chinois, japonais, etc...), il faut déclarer le code utf-8.
0
Melooo Messages postés 1405 Date d'inscription vendredi 28 novembre 2008 Statut Membre Dernière intervention 18 mars 2013 84
13 déc. 2010 à 14:43
Ah oui d'accord,
je viens de trouver un lien qui pourrait peut être t'intéresser :
https://forum.alsacreations.com/topic-17-11560-1-Probleme-envoie-email-en-chinois.html
0
dimi3 Messages postés 269 Date d'inscription mercredi 7 novembre 2007 Statut Membre Dernière intervention 1 avril 2011 20
13 déc. 2010 à 15:05
Merci pour ce lien... Tout ça me parait bien compliqué !
0
Melooo Messages postés 1405 Date d'inscription vendredi 28 novembre 2008 Statut Membre Dernière intervention 18 mars 2013 84
13 déc. 2010 à 15:14
0
dimi3 Messages postés 269 Date d'inscription mercredi 7 novembre 2007 Statut Membre Dernière intervention 1 avril 2011 20
13 déc. 2010 à 15:24
Cette page concerne les bases de données et les pages internet. Je n'ai pas de problème de ce côté-là. Il n'y a que les mails qui me posent problème...
0
Melooo Messages postés 1405 Date d'inscription vendredi 28 novembre 2008 Statut Membre Dernière intervention 18 mars 2013 84
13 déc. 2010 à 15:31
La page ou se situe l'envoi de mail est également en utf-8 ?
0
dimi3 Messages postés 269 Date d'inscription mercredi 7 novembre 2007 Statut Membre Dernière intervention 1 avril 2011 20
13 déc. 2010 à 15:49
Oui...
0
Melooo Messages postés 1405 Date d'inscription vendredi 28 novembre 2008 Statut Membre Dernière intervention 18 mars 2013 84
13 déc. 2010 à 14:02
Bonjour,
Essayes de rajouter sa :
    $entete.='Content-Transfer-Encoding: 8bit';

-1