Comment mettre son mail php en utf-8 ?

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 ?

2 réponses

  1. 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
    1. 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
      1. Modérateur
        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