Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1854 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  [Résolu] Caractères accentués dans formulaire d'envoi de mail.

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Résolu] Caractères accentués dans formulaire d'envoi de mail.

n°2251667
slr56
Tout problème a sa solution.
Posté le 25-02-2015 à 11:27:06  profilanswer
 

Bonjour,
 
J'ai un formulaire d'envoi de mail qui fonctionne très bien.
 
Le petit bémol, c'est que les caractères accentués ne sont pas gérés dans les messages envoyés par les clients. J'ai droit à des "©E..." dans le contenu du mail.
 
Voici le code :
 

Code :
  1. <?php
  2.         // L'adresse mail du destinataire.
  3.         $recipient = "XXX@XXX.com";
  4.         // Sujet du mail.
  5.         $subject = "Site Internet : Message de $name";
  6.         // Construction du contenu du mail.
  7.         $email_content = "Nom | Prénom : $name\n";
  8.  $email_content .= " ";
  9.         $email_content .= "Email: $email\n\n";
  10.  $email_content .= " ";
  11.         $email_content .= "Téléphone: $telephone\n";
  12.  $email_content .= " ";
  13.  $email_content .="Message:\n$message\n";
  14.         // Construction du header du mail.
  15.         $email_headers = "De: $name <$email>";
  16.         // Envoi du email.
  17.         //if (mail($recipient, $subject, $email_content, $email_headers)) {
  18.  if (mail($recipient, '=?utf-8?B?'.base64_encode($subject).'?=',$email_content,$email_headers)) {
  19.             // Etabli un code retour 200 (okay).
  20.             http_response_code(200);
  21.             echo "Merci! Votre message a ete envoye avec succes ! Je vous repondrai des que possible.";
  22.         }
  23.     }
  24. ?>


 
Comment corriger ?
 
Cdt,
 
slr56.


Message édité par slr56 le 25-02-2015 à 14:06:52

---------------
Configurations type du moment : https://forum.hardware.fr/hfr/Hardw [...] 1331_1.htm  https://www.jouannetphotographe.com
mood
Publicité
Posté le 25-02-2015 à 11:27:06  profilanswer
 

n°2251676
bbalet
Posté le 25-02-2015 à 12:32:19  profilanswer
 

Bonjour,
 
Il y a 4 éléments à vérifier/faire pour être tranquille :
 - Dans ton éditeur de code, utiliser l'encodage UTF-8 sans BOM
 - Dans la page HTML, utiliser cette balise dans la section HEAD  <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
 - Dans les attributs du formulaire <form action="..." method="post" accept-charset="utf-8">
 - Ta base de donnée doit aussi être en UTF-8 (option de la table).
 
L'encodage en tout Unicode / UTF-8 te permettra d'être tranquille. Si un des éléments diverge tu auras ce genre de caractères bizarre.


Message édité par bbalet le 25-02-2015 à 12:36:12
n°2251689
slr56
Tout problème a sa solution.
Posté le 25-02-2015 à 14:06:35  profilanswer
 

Bonjour et merci bbalet,
 
C'est noté et ça marche.  :)


---------------
Configurations type du moment : https://forum.hardware.fr/hfr/Hardw [...] 1331_1.htm  https://www.jouannetphotographe.com

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  [Résolu] Caractères accentués dans formulaire d'envoi de mail.

 

Sujets relatifs
Aide formulaire de contactFormulaire/Carte
[Access] Formulaire de saisie -> Feuille blanche[VBA] Inserer des caractères en décaler dans une cellule
Resultat formulaire barre admin wordpressRemplir champsavant de soumettre un formulaire
Outlook: formulaire personnalisé: accéder aux champs préprogrammés[resolu]Envoyer formulaire à adresse indiquée dans une zone texte
guidage pour calcul formulaire struts / postgresqlFormulaire PHP
Plus de sujets relatifs à : [Résolu] Caractères accentués dans formulaire d'envoi de mail.


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR