Précédent   Forum des professionnels en informatique > PHP > Langage > Fonctions
Fonctions Forum d'entraide sur les fonctions PHP. Avant de poster -> FAQ fonctions et Sources diverses
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 21/04/2008, 15h28   #1
Membre du Club
 
Avatar de heteroclite
 
Inscription : juin 2006
Messages : 147
Détails du profil
Informations personnelles :
Âge : 37
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : juin 2006
Messages : 147
Points : 50
Points : 50
Par défaut [Mail] Problème avec les accentuations

Bonjour,

J'utilise un formulaire html et un script PHP pour envoyer des mails depuis mon site.(fonction mail PHP).
Je rencontre cependant des problèmes avec les caractère spéciaux qui sont systematiquement déformés.

J'ai lu quelques solutions sur le forum concernant l'encodage, cependant je ne sais pas très bien comment l'insérer dans mon script.

Mon script

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?php 
 
$msg = "Nom:\t$sender_name\n";
$msg .= "E-Mail:\t$sender_email\n";
$msg .= "Téléphone:\t$sender_phone\n";
$msg .= "Date:\t$sender_date\n";
$msg .= "Heure:\t$sender_hour\n";
$msg .= "Nombre de personnes:\t$sender_personne\n";
$msg .= "Message:\t$message\n\n";
 
$recipient = "xxxxxxxxxx@xxxxxxx";
$subject = "xxxxxxxxxxx";
 
$mailheaders = "From: xxxxxxxxxxxxx <> \n";
$mailheaders .= "Reply-To: $sender_email\n\n";
 
mail($recipient, $subject, $msg, $mailheaders);
 
Header("Location:confquestion.html");
 
?>

La spécification de l'encodage
Code :
"Content-type: text/html; charset= utf-8\n";
Est ce que je dois spécifier cela pour tous les champs ?

Pourriez vous me donner un exemple d'intégration de ce code ?

Merci
heteroclite est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/04/2008, 15h34   #2
Membre actif
 
Inscription : mai 2004
Messages : 478
Détails du profil
Informations forums :
Inscription : mai 2004
Messages : 478
Points : 154
Points : 154
Envoyer un message via MSN à maysa
Hello,

Pour moi il faudrait juste écrire ceci :

Code :
1
2
3
4
 
$mailheaders = "From: xxxxxxxxxxxxx <> \n";
$mailheaders .="Content-type: text/html; charset= utf-8\n";
$mailheaders .= "Reply-To: $sender_email\n\n";
et c'est tout.
a voir....

de plus je pense qu'il faut rajouter la fonction utf8_decode pour le sujet :
Code :
1
2
 
mail($to, utf8_decode($subject), $message, $headers);
maysa est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/04/2008, 15h40   #3
Membre du Club
 
Avatar de heteroclite
 
Inscription : juin 2006
Messages : 147
Détails du profil
Informations personnelles :
Âge : 37
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : juin 2006
Messages : 147
Points : 50
Points : 50
Merci pour cette réponse rapide ! Je vais essayer cela ce soir.

Mais juste un question. Si je mets
Code :
1
2
3
$mailheaders = "From: xxxxxxxxxxxxx <> \n";
$mailheaders .="Content-type: text/html; charset= utf-8\n";
$mailheaders .= "Reply-To: $sender_email\n\n";

Je ne rencontrerai pas de problèmes d'accentuation sur les autres champs " message, nom ...etc ?

Merci
heteroclite est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/05/2008, 00h27   #4
Membre du Club
 
Avatar de heteroclite
 
Inscription : juin 2006
Messages : 147
Détails du profil
Informations personnelles :
Âge : 37
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : juin 2006
Messages : 147
Points : 50
Points : 50
L'introduction de ce bout de code me permet effectivement de gérer correctement les accents, en revanche je n'ai plus le saut de ligne entre chaque information dans le mail transmis...
Quelqu'un aurait un idée du problème ?

Maintenant j'ai nomxxxxxxxx email: xxxxxxxxx...etc

alors que je voudrais:

nomxxxxxxxx
email: xxxxxxxxx

Merci d'avance pour votre aide
heteroclite est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/05/2008, 00h37   #5
Membre régulier
 
Avatar de arthak
 
Développeur informatique
Inscription : mai 2008
Messages : 91
Détails du profil
Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : mai 2008
Messages : 91
Points : 86
Points : 86
tu est passé en html donc un "<br />" me semble approprié.
La bise.
arthak est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 19h45.


 
 
 
 
Partenaires

Hébergement Web