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

  FORUM HardWare.fr
  Programmation
  PHP

  [résolu] Problème d'affichage dans email envoyé via un formulaire.

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[résolu] Problème d'affichage dans email envoyé via un formulaire.

n°1257688
fafane84
Posté le 02-12-2005 à 17:07:30  profilanswer
 

Salut à tous  :hello:  
 
J'ai créer un script PHP pour envoyer un email via un formulaire.
 
Le script fonctionne parfaitement, mais j'ai quand même un soucis d'affichage au niveau du destinataire, de l'expéditeur et du sujet du message.
 
En effet mes pages et ma base de données sont en UTF-8, et lorsque le destinataire (ou l'expéditeur, ou le sujet) contient un caractère spécial du genre "é" cela s'affiche comme çà : é (exemple : Véronique s'écrira Véronique).
 
Pour le message, j'ai trouvé (en cherchant sur le web) une parade en rajoutant :

Code :
  1. // Type MIME
  2. $entete .= "Content-Type: text/plain; charset=UTF-8\r\n";
  3. // Encodage
  4. $entete .= "Content-Transfer-Encoding: 8bit\r\n";


 
Pour l'instant la seule solution que j'ai trouvé consiste à remplacer "é" par "e" grâce à la fonction str_replace(), mais j'avoue qu'elle ne me satisfait pas et en plus je ne sais pas comment remplacer plusieurs caractères.
 
Voici le code qui me permet d'envoyer le mail :

Code :
  1. <?php
  2. // variables
  3. $prenom = $_POST['dest_prenom'];
  4. $nom = $_POST['dest_nom'];
  5. $email = $_POST['dest_email'];
  6. $prenom_expediteur = $_POST['exp_prenom'];
  7. $nom_expediteur = $_POST['exp_nom'];
  8. $email_expediteur = $_POST['exp_mail'];
  9. $sujet_expediteur = $_POST['sujet'];
  10. $message_expediteur = $_POST['contenu'];
  11. // Adresse du destinataire
  12. $destinataire = str_replace("é","e","$prenom $nom <$email>" );
  13. // Sujet du mail
  14. $sujet = "$sujet_expediteur";
  15. // Adresse de l'expediteur
  16. $entete = "From: $prenom_expediteur $nom_expediteur <$email_expediteur>\r\n";
  17. // Type MIME
  18. $entete .= "Content-Type: text/plain; charset=UTF-8\r\n";
  19. // Encodage
  20. $entete .= "Content-Transfer-Encoding: 8bit\r\n";
  21. // Message
  22. $message = "$message_expediteur";
  23. // Fonction mail()
  24. mail($destinataire, $sujet, $message, $entete);
  25. ?>


 
Pouvez-vous m'aider ?
 
Merci d'avance.
 
 [:fafane84]


Message édité par fafane84 le 04-12-2005 à 00:06:38

---------------
Mon Topic de Vente Hardware
mood
Publicité
Posté le 02-12-2005 à 17:07:30  profilanswer
 

n°1257769
olivthill
Posté le 02-12-2005 à 19:35:57  profilanswer
 

Est-ce que cela marcherait en remplaçant la ligne 18 par :

$entete .= "Content-Type: text/html; charset=ISO-8859-1\r\n";

n°1258147
fafane84
Posté le 03-12-2005 à 17:16:39  profilanswer
 

olivthill a écrit :

Est-ce que cela marcherait en remplaçant la ligne 18 par :

$entete .= "Content-Type: text/html; charset=ISO-8859-1\r\n";



Non le charset était comme çà sur le tuto que j'ai trouvé sur Internet, il m'a fallut le modifier en UTF-8 pour que la partie "message" reconnaisse correctement les caractères spéciaux.
 
Merci tout de même de ta réponse  [:b-rabbit]  
 
Une autre idée ?
 
A savoir que mon script fait appel à une table de ma base de donnée qui malgrés le fait que l'interclassement soit "utf8_general_ci" tous les carectères "é" s'affichent "é"


---------------
Mon Topic de Vente Hardware
n°1258283
fafane84
Posté le 04-12-2005 à 00:06:03  profilanswer
 

Ne cherchez plus, je crois avoir trouvé l'explication.
 
Cela doit venir tout simplement de ma boite "en ligne" qui ne doit pas gérer le UTF-8.
 
En effet, lorsque je consulte mes messages "en ligne" le problème d'affichage se produit, mais quand je charge les mêmes messages sur ma messagerie (Outlook Express) tous les caractères spéciaux sont correctement affichés.
 
 [:fafane84]


---------------
Mon Topic de Vente Hardware

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

  [résolu] Problème d'affichage dans email envoyé via un formulaire.

 

Sujets relatifs
JTextField problemeProbleme acces carte PCI
encore une problème...Problème de class en php
Probleme de menu déroulantProbleme avec les Variable dans l'objet RUN
[Résolu!] Besoin de cours en C++ sur MarseilleProblème avec if
[PL/SQL] Curseur et boucles FOR imbriquées [Résolu][VB6] *Résolu* Repère d'une PictureBox
Plus de sujets relatifs à : [résolu] Problème d'affichage dans email envoyé via un formulaire.


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