Récupérer les accents d'un formulaire envoyé par mail
Bonjour
Je suis débutante en PHP.
J'ai créer un formulaire en HTML sur mon site, et j'envoie les infos par mail via une page php.
Lorsque je reçois le mail, je n'ai pas les accents. Je reçois des choses comme celà : èèà à ééêêçç à la place des éé èè çç àà êê;
Avez vous une solution à me proposer?
D'avance merci
Réponses apportées à cette discussion
Bonjour, Tu as la fonction htmlentities http://fr.php.net/manual/fr/function.htmlentities.php Tu convertis tes textes lors du traitement du formulaire avant d'envoyer le mail. Autre possibilité http://fr.php.net/manual/fr/function.str-replace.php Tu met dans la première partie, tu mets les accents, et dans la 2ème, les mêmes lettres sans les accents du genre: $accent = array("é", "à"); // Avec tous les accents possibles $no_accent = array("é", "à"); // là, tu mets les codes html pour les accents, ou les lettres sans accents $new_texte = str_replace($accent, $no_accent, $texte); pour les accents en HTML Voilà !
Salut MarieBob,
c'est un problème d'encodage.
Les caractères que tu montres là sont des caractères spéciaux convertis en UTF8. Si tu envoies dans tes en-têtes de mail l'encodage utf8, le client de courrier va alors convertir normalement ces caractères et les afficher comme ils sont attendus.
Tu peux du reste vérifier ceci et ouvrant un de ces messages présentant ce problème et faire afficher avec un encodage différent, par exemple dans Thunderbird, Affichage>Encodage des caractères>UNICODE (UTF-8)
La solution proposée par Alkar0 n'est pas appropriée, désolé Alkar0.