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. 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
  2. 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