Formulaire de contact et caractères accentués

Résolu/Fermé
la chicane Messages postés 156 Date d'inscription jeudi 25 août 2005 Statut Membre Dernière intervention 22 mai 2016 - 4 févr. 2009 à 21:45
 Allen - 10 avril 2016 à 12:31
Bonsoir !!!

Comme vous le savez... un problème réglé laisse la place à un autre !!

Alors mon petit souci est le suivant.
J'ai un formulaire de contact html + php qui me transmet les informations saisies par le visiteur, par mail.

J'ai une partie de code (dans mon script PHP) qui repère les caractères spéciaux tels que les apostrophes et fait en sorte qu'ils soient correctement transcris dans le corps du message transmis par mail.

Seulement, je ne trouve nulle part le code permettant aux caractères accentués d'être transmis comme tels, et non transformés en carrés, comme dans cet exemple : caract�res sp�ciaux

Voici mon code :

$message = str_replace("'","'",$message);
$message = str_replace("’","'",$message);
$message = str_replace(""",'"',$message);
$message = str_replace('<br>','',$message);
$message = str_replace('<br />','',$message);
$message = str_replace("<","<",$message);
$message = str_replace(">",">",$message);
$message = str_replace("&amp;","&",$message);
$message = str_replace("&amp;#039;","'",$message);


que dois je rajouter pour que les accents me soient transmis dans le corps du mail ?

Ps : pour info, j'ai le même code pour l'objet du mail, et là, cela fontionne. Voici par exemple, l'objet du mail tel qu'il m'est transmis dans le mail "test d'envoi de mail avec caractères spéciaux" :

$objet = str_replace("&#039;","'",$objet);
$objet = str_replace("&#8217;","'",$objet);
$objet = str_replace("&quot;",'"',$objet);
$objet = str_replace('<br>','',$objet);
$objet = str_replace('<br />','',$objet);
$objet = str_replace("<","<",$objet);
$objet = str_replace(">",">",$objet);
$objet = str_replace("&amp;","&",$objet);
$objet = str_replace("&amp;#039;","'",$objet);


Merci de votre aide... (j'en ai bientôt fini avec ce formulaire !!!)
A voir également:

11 réponses

la chicane Messages postés 156 Date d'inscription jeudi 25 août 2005 Statut Membre Dernière intervention 22 mai 2016 37
5 févr. 2009 à 16:29
Pour reprendre le message ci-dessus... j'ai oublié de me mettre dans les balises codes... et comme ce site est super bien fait, il a transformé lui même le code html en lettres correctes...

ceci vous démontre au moins que ça marche !!!

revoici donc le code... dans les bonnes balises pour une bonne lisibilité

$message = str_replace("&eacute;","é",$message);
$message = str_replace("&egrave;","è",$message);
$message = str_replace("&ugrave;","ù",$message);
$message = str_replace("&agrave;","à",$message);
$message = str_replace("&uuml;","ü",$message);
$message = str_replace("&ouml;","ö",$message);
$message = str_replace("&ecirc;","ê",$message);
$message = str_replace("&acirc;","â",$message);
3
la chicane Messages postés 156 Date d'inscription jeudi 25 août 2005 Statut Membre Dernière intervention 22 mai 2016 37
24 févr. 2009 à 12:31
Salut Cécile,

Voici la solution que j'ai trouvé :

défini des paramêtres pour les variables que tu veux voir "clean" dans ton mail (ici, j'ai défini les paramètres pour les variables "entête", "objet" et "message" de mon mail :

$headers = "Content-Type: text/html; charset=\"iso-8859-1\"\n".'From: '.$nom.' '.$prenom.' <'.$email.'>';
$message = str_replace('\r\n','<br>',$message);
$objet = str_replace("&#039;","'",$objet);


Grâce à ces variables, j'ai pu m'affranchir des formules "str_replace" que j'avais décrites ci-dessus.
Tout fonctionne tip top, les mails que je reçois sont propres.

Bonne chance et bon courage. J'espère que ceci t'aidera car j'ai galéré des soirées entières !!!!

;-)
2
Merci pour de ta rapidité. Je vais essayer.

Bonne continuation
1
chris-2009 Messages postés 256 Date d'inscription jeudi 8 janvier 2009 Statut Membre Dernière intervention 6 avril 2009 7
4 févr. 2009 à 21:49
caractéres spéciaux
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
la chicane Messages postés 156 Date d'inscription jeudi 25 août 2005 Statut Membre Dernière intervention 22 mai 2016 37
4 févr. 2009 à 22:08
merci pour ta réponse Chris...
tu essayes peut être de me dire que je dois consulter les posts traitant du sujet "caractères spéciaux"...

Je l'ai bien entendu fait avant de poster ici...
J'ai vu des choses, comme ajouter en haut de mon fichier PHP :
 "ttp-equiv="Content-Type" content="text/html; charset=iso-8859-1"


mais cela ne fonctionne pas...

J'ai aussi lu des choses sur des chaines de caractères, mais je ne connais pas la syntaxe, ni l'endroit où placer ces fonctions ou chaines... (j'ai bcp de mal avec le PHP, et ce n'est pas faute d'avoir chercher et de lire tout un tas de trucs à droite et à gauche...)

:-(
0
la chicane Messages postés 156 Date d'inscription jeudi 25 août 2005 Statut Membre Dernière intervention 22 mai 2016 37
5 févr. 2009 à 12:36
Hello !!
j'ai trouvé (bon, ok, grace à l'aide d'un collègue...)

Il fallait rajouter dans mes formules magiques, ces formules là :

$message = str_replace("é","é",$message);
$message = str_replace("è","è",$message);
$message = str_replace("ù","ù",$message);
$message = str_replace("à","à",$message);
$message = str_replace("ü","ü",$message);
$message = str_replace("ö","ö",$message);
$message = str_replace("ê","ê",$message);
$message = str_replace("â","â",$message);

pour lui dire de transformer les caractères hmtl en lettres accentuées correspondantes...

Ouf !!!

Peut être cette solution pourra t-elle être utile à quelqu'un...

Je clos le sujet.

merci à vous
0
la chicane Messages postés 156 Date d'inscription jeudi 25 août 2005 Statut Membre Dernière intervention 22 mai 2016 37
8 févr. 2009 à 21:13
Bonsoir tout le monde...
j'ai crié victoire un peu trop vite semble-t-il...

en fait, tout est ok lorsque je lis le message envoyé par le formulaire de contact, avec mon client messagerie (outlook).

mais lorsque je les lis depuis mon FAI, avec IE j'ai des carrés à la place des caractères accentués... et avec FFox, j'ai un petit losange noir contenant un point d'interrogation...

Quelqu'un pourait-il m'aider ?... je commence à craquer avec ce formulaire pourtant si simple d'après tout ce que je lis...

:-(

Merci à vous !!
0
Bonjour,
j'ai exactement le même problème. Est ce que quelqu'un a trouvé la réponse?

Merci d'avance
0
2 ans après ... Avez vous trouvé une solution??
On ne sais jamais :-)
0
timesi Messages postés 48 Date d'inscription mercredi 17 mars 2010 Statut Membre Dernière intervention 14 août 2015 6
Modifié par timesi le 13/02/2012 à 14:32
Bonjour,

Comment faire pour que ce code fonctionne pour s'afficher sur ma page:

https://www.facebook.com/login.php?skip_api_login=1&api_key=155933657817598&signed_next=1&next=https%3A%2F%2Fwww.facebook.com%2Fdialog%2Fstream.publish%3Fapp_id%3D155933657817598%26redirect_uri&cancel_url=https%3A%2F%2Fwww.facebook.com%2Fdialog%2Freturn%2Fclose%3Ferror_code%3D4201%26error_message%3DUser%2Bcanceled%2Bthe%2BDialog%2Bflow%23_%3D_&display=popup&locale=fr_FR
https://www.facebook.com/&action_links=&attachment={%27caption%27:%27%3Cfb:chat-invi
te+msg%3D%22Viens decouvrir une page vraiment geniale: http://www.facebook.com/aumoins1demesamisestAlcoolique%22+condensed%3D%22false%22+excl
ude_ids%3D%221,2,3%22http://t.co/q3EzkPR%22+always_post_to_friends%3D%22false%22%3E
%3C/fb:chat-invite%3E%27,%27properties%27:{%27Page%27:{%27text%27:%27FBML%20Educatio
n%27,%27href%27:%27https://www.facebook.com/aumoins1demesamisestalcoolique%27}}}&traget_id=107278022
683159

Ma page est www.facebook.com/aumoins1demesamisestalcoolique & l'on me dit qu'il faut utiliser le deuxième maillont de mon deuxième lien vers ma page. Alors qu'est ce que cela donne ???

Merci beaucoup ! :)
0
vdBiggelaar Messages postés 1 Date d'inscription jeudi 8 octobre 2015 Statut Membre Dernière intervention 8 octobre 2015
8 oct. 2015 à 21:10
Il faut remplacer dans le header

charset=iso-8859-1\r\n"

par

charset=\"UTF-8\"\r\n"
0
Merci ça marche
0