Accepter les "ç" et "é" dans un formulaire contact

Fermé
TriHars Messages postés 5 Date d'inscription vendredi 10 novembre 2017 Statut Membre Dernière intervention 10 janvier 2019 - Modifié le 7 févr. 2018 à 21:54
NHenry Messages postés 15112 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 13 avril 2024 - 7 févr. 2018 à 22:00
Bonjour,
J'ai trouvé ce script sur internet pour l'envoi de mail depuis une page web, il fonctionne correctement je reçois les mails mais par contre les é,è,ç, etc ne sont pas pris en compte et sont affichés sous cette forme: éééé

Voici mon code:
Lien pastebin: https://pastebin.com/s2iKmPwU
 <?php
$VotreAdresseMail="hugo.lgn@hotmail.com";
if(isset($_POST['envoyer'])) {
if(empty($_POST['mail'])) {
echo "Le champ mail est vide";
} else {
//on vérifie que l'adresse est correcte
if(!preg_match("#^[a-zA-Z0-9._-]+@[a-zA-Z0-9._-]+.[a-zA-Z]{2,6}$#",$_POST['mail'])){
echo "L'adresse mail entrée est incorrecte";
}else{
//on vérifie que le champ sujet est correctement rempli
if(empty($_POST['sujet'])) {
echo "Le champ sujet est vide";
}else{
//on vérifie que le champ sujet est correctement rempli
if(empty($_POST['message'])) {
echo "Le champ message est vide";
}else{
//tout est correctement renseigné, on envoi le mail
//on renseigne les entêtes de la fonction mail de PHP
$Entetes = "MIME-Version: 1.0\r\n";
$Entetes .= "Content-type: text/html; charset=iso-8859-1\r\n";
$Entetes .= "From:" .$_POST['name']. "<".$_POST['mail'].">\r\n";//de préférence une adresse avec le même domaine de là où, vous utilisez ce code, cela permet un envoie quasi certain jusqu'au destinataire
$Entetes .= "Reply-To: ".$_POST['name']." <".$_POST['mail'].">\r\n";
//on sécurise les champs
$Mail=htmlentities($_POST['mail'],ENT_QUOTES,"ISO-8859-1"); //ENT_QUOTES Convertit les guillemets doubles et les guillemets simples, en entitès HTML, ISO-8859-1 est la norme pour les langues occidentales
$Sujet=htmlentities($_POST['sujet'],ENT_QUOTES,"ISO-8859-1");
$Message=htmlentities($_POST['message'],ENT_QUOTES,"ISO-8859-1");
//en fin, on envoi le mail
if(mail($VotreAdresseMail,utf8_encode($Sujet),nl2br($Message),$Entetes)) { //la fonction nl2br permet de conserver les sauts de ligne et la fonction urf8_encore de conserver les accents dans le titre
echo "Le mail à été envoyé avec succès !";
} else {
echo "Une erreur est survenue, le mail n'a pas été envoyé";
}
}
}
}
}
}
?>


Je vous remercie d'avance !
A voir également:

1 réponse

NHenry Messages postés 15112 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 13 avril 2024 330
7 févr. 2018 à 22:00
Problème d'encodage, renseignes-toi sur UTF-8 & co.
0