PHP et mail : codage charset=utf-8
Résolu
dimi3
Messages postés
269
Date d'inscription
Statut
Membre
Dernière intervention
-
c0boleis -
c0boleis -
Bonjour,
Dans mon code d'envoi de courrier supposé contenir des lettres exotiques, j'ai mis :
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.
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:
- Charset utf 8
- Publipostage mail - Accueil - Word
- Windows live mail - Télécharger - Mail
- Créer une adresse mail hotmail - Guide
- Comment télécharger un mail - Guide
- Cegetel mail ✓ - Forum Mail
13 réponses
J'ai trouvé : les textes du mail doivent être traités par la fonction utf8_decode() avant d'être envoyés.
Pourquoi mettre :
Avec un point d'exclamation ?
Peut être faut-il spécifier tout ceci :
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';
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é.
Oui, j'ai bien tout spécifié.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bon c'est peut être bizarre, mais à chaque fois que j'envoi un mail j'utilise iso et non utf-8 comme ceci :
Et tout fonctionne nickel
$entete .="Content-type: text/html; charset=\"iso-8859-1\"\r\n";
Et tout fonctionne nickel
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);
$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);
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.
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
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
Peut être que celui la est plus simple :
https://forums.commentcamarche.net/forum/affich-16920685-caractere-chinois-et-utf-8
https://forums.commentcamarche.net/forum/affich-16920685-caractere-chinois-et-utf-8
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...