Comment mettre son mail php en utf-8 ?

wyzdown Messages postés 2 Statut Membre -  
jordane45 Messages postés 30427 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 ?

2 réponses

  1. Pitet Messages postés 2845 Statut Membre 530
     
    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
  2. wyzdown Messages postés 2 Statut Membre
     
    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. jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   4 831
       
      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