Comment mettre son mail php en utf-8 ?

wyzdown Messages postés 2 Date d'inscription   Statut Membre Dernière intervention   -  
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour,
sur ma page web php j'ai un script pour envoyer les mails mais le problemes c'est qu'il ne les envoie pas en utf-8
Voici le php :
<?php
session_start();
if ($_POST['Submit'] == 'Envoyer')
{
if (strcmp(md5($_POST['user_code']),$_SESSION['ckey']))
{
header("Location: index.php?msg=Erreur : Mauvais code!");
exit();
}
$to = $_POST['toemail'];
$subject = $_POST['subject'];
$message = $_POST['message'];
$fromemail = $_POST['fromemail'];
$fromname = $_POST['fromname'];
$lt= '<';
$gt= '>';
$sp= ' ';
$from= 'From:';
$headers = $from.$fromname.$sp.$lt.$fromemail.$gt;
mail($to,$subject,$message,$headers);
header("Location: index.php?msg=Mail Envoyé!");
exit();
}
?>
comment dois-je faire pour que les mails soient envoyer en utf-8 ?
A voir également:

2 réponses

Pitet Messages postés 2826 Date d'inscription   Statut Membre Dernière intervention   527
 
Salut,

Il faut définir le paramètre charset dans les entêtes du mail (le quatrième paramètre de la fonction mail).

Tu peux voir un exemple sur la doc ici : https://www.php.net/manual/fr/function.mail.php#example-3847
Dans cet exemple il défini le charset iso-8859-1, il te suffit simplement de le remplacer par utf8.

Un autre exemple proposé dans les commentaires de la doc : https://www.php.net/manual/fr/function.mail.php#108669

Bonne journée,
0
wyzdown Messages postés 2 Date d'inscription   Statut Membre Dernière intervention  
 
merci mais dans mon cas alors avec ce script je dois faire comment, pourrai tu me le faire sans abimer le script ?
<?php 
session_start(); 
if ($_POST['Submit'] == 'Envoyer') 
{ 
if (strcmp(md5($_POST['user_code']),$_SESSION['ckey'])) 
{ 
header("Location: index.php?msg=Erreur : Mauvais code!"); 
exit(); 
} 
$to = $_POST['toemail']; 
$subject = $_POST['subject']; 
$message = $_POST['message']; 
$fromemail = $_POST['fromemail']; 
$fromname = $_POST['fromname']; 
$lt= '<'; 
$gt= '>'; 
$sp= ' '; 
$from= 'From:'; 
$headers = $from.$fromname.$sp.$lt.$fromemail.$gt; 
mail($to,$subject,$message,$headers); 
header("Location: index.php?msg=Mail Envoyé!"); 
exit(); 
} 
?>


EDIT : Ajout des BALISES DE CODE (jordane)
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
Bonjour,

1 - Pense à utiliser la coloration syntaxique (les balises de code) la prochaine fois.

2 - As tu lu les liens qui t'ont été donnés ???? TOUT y est !
0