Problème d'accents dans formulaire php
Résolu
Bonjour, je bloque sur un formulaire pour mon site, j'ai une page formulaire.php et une page mail.php, le formulaire est bien envoyé sur mon mail mais si il y a des accents ils sont remplacés (par ex é est remplacé par "& e a cute;" sans les espaces) j'ai essayé plein de chose trouvé sur le net mais rien de concluant. Voici mon code si quelqu'un peut m'aider:
EDIT : Ajout de la coloration SYNTAXIQUE dans les balises de code
<?php
$nom=htmlentities($_POST['txtnom']);
$prenom=htmlentities($_POST['txtprenom']);
$ville=htmlentities($_POST['txtville']);
$mel=htmlentities($_POST['txtmail']);
$mobile=htmlentities($_POST['txtmobile']);
$pseudo=htmlentities($_POST['txtpseudo']);
$metier=htmlentities($_POST['txtmetier']);
$destinataire = 'XXXXX@XXXXX.fr';
$from='From : XXXXX@XXXXXX.fr';
$objet = 'XXXXXX';
$contenu .= "Nom : " . $nom;
$contenu .= " - Prenom : " . $prenom;
$contenu .= " - Ville : " . $ville;
$contenu .= " - Email : " . $mel;
$contenu .= " - Mobile : " . $mobile;
$contenu .= " - Pseudo : " . $pseudo;
$contenu .= " - Metier : " . $metier;
$retour=mail($destinataire,$objet, $contenu, $from);
if($retour)
echo 'Votre message a bien été envoyé !';
?>
EDIT : Ajout de la coloration SYNTAXIQUE dans les balises de code
2 réponses
-
ModérateurBonjour,
Commence par appliquer ceci :
https://forums.commentcamarche.net/forum/affich-37584944-php-html-caracteres-accentues-et-l-utf8
NB: Je déplace ta question dans le forum PHP
-
ModérateurEt remplace le contenu de ta variable $from par:
$from = "XXXXX@XXXXXX.fr"; // create header $header = 'MIME-Version: 1.0' . "\r\n"; $header .= 'Content-type: text/html; charset=UTF-8' . "\r\n"; $header .= 'From: ' . $from. "\r\n";
et donc l'appel de la fonction mail$retour=mail($destinataire,$objet, $contenu, $header);
-
-
Merci ça fonctionne, voici le code qui fonctionne pour les prochains:
<?php $nom=htmlentities($_POST['txtnom']); $prenom=htmlentities($_POST['txtprenom']); $ville=htmlentities($_POST['txtville']); $mel=htmlentities($_POST['txtmail']); $mobile=htmlentities($_POST['txtmobile']); $pseudo=htmlentities($_POST['txtpseudo']); $metier=htmlentities($_POST['txtmetier']); $destinataire = 'XXXXX@XXXXX.fr'; $from='From : XXXXX@XXXXXX.fr'; $objet = 'XXXXXX'; $header = 'MIME-Version: 1.0' . "\r\n"; $header .= 'Content-type: text/html; charset=UTF-8' . "\r\n"; $header .= 'From: ' . $from. "\r\n"; $contenu .= "Nom : " . $nom; $contenu .= " - Prenom : " . $prenom; $contenu .= " - Ville : " . $ville; $contenu .= " - Email : " . $mel; $contenu .= " - Mobile : " . $mobile; $contenu .= " - Pseudo : " . $pseudo; $contenu .= " - Metier : " . $metier; $retour=mail($destinataire,$objet, $contenu, $header); if($retour) echo 'Votre message a bien été envoyé !'; ?>