Bonjour à tous,

J'ai créé un formulaire HTML et une page de traitement en PHP. Je reçois bien le mail à mon adresse mais les accents, symboles et apostrophes ne fonctionnent pas. J'ai passé des heures à regarder sur le net sans trouver de réponse. J'espère que vous arriverez à me renseigner. Merci beaucoup!

Le code de ma page HTML:

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link rel="stylesheet" type="text/css" href="style.css" />



Le code de ma page de traitement PHP:

<?php
header('Content-Type: text/html; charset=utf-8');
?>
<?php 
$ToEmail = 'info@mon_adresse.com'; 
$EmailSubject = 'Nouveau message (EN)'; 
$mailheader = "From: ".$_POST["email"]."\r\n"; 
$mailheader .= "Reply-To: ".$_POST["email"]."\r\n"; 
$MESSAGE_BODY = "Prénom / Nom : ".$_POST["name"]."\r\n";  
$MESSAGE_BODY .= "Téléphone : ".$_POST["phone_number"]."\r\n";
$MESSAGE_BODY .= "Objet : ".$_POST["subject"]."\r\n"; 
$MESSAGE_BODY .= "Message : ".nl2br($_POST["message"])."\r\n"; 
mail($ToEmail, $EmailSubject, $MESSAGE_BODY, $mailheader) or die ("Failure");
?>

Modifié par Alex911 (26 Apr 2011 - 09:10)
Fais aussi attention à ta page d'origine : le fichier est-il encodé en UTF-8 (à vérifier dans Notepad++ ou autre éditeur) ? Envoie-t-il les bons headers pour le charset ? Et comme disait Marvin, pense à vérifier que ton mail a lui aussi les bon headers. Essaie ça du coup :
$mailheader .= "Content-Type: text/plain; charset=utf-8\n\r";



PS: tu peux te passer de...
header('Content-Type: text/html; charset=utf-8');
...en tapant dans ton .htaccess...
AddDefaultCharset UTF-8