IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Caractère spéciaux via formulaire mail


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    Homme Profil pro
    Ingénieur PI
    Inscrit en
    Août 2011
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur PI
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Août 2011
    Messages : 28
    Par défaut Caractère spéciaux via formulaire mail
    Bonjour à tous.
    Un sujet récurrent... mais je ne trouve pas de solution.

    J'ai tenté pas mal de choses hier soir, et rien ne semble fonctionner... ça me dépite.

    Donc, j'ai un site internet, sur lequel il existe un formulaire mail.
    Le HTML appel un JS, qui lance le script PHP.


    Sur mon fichier HTML j'ai spécifié le "charset":
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <head>
     
    	<title>**Titre du site**</title>
     
    	<!-- Encoder en utf-8 -->
    	<meta http-equiv="content-type" content="text/html; charset=utf-8" />
     
    	<!-- META -->
        <meta charset="utf-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
    Oui oui, je l'ai même mit deux fois.... à force de tout bidouiller...

    Et mon script php:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    <?php
     
    //$headers .= "Content-type: text/plain; charset=iso-8859-1\r\n";
     
    //$email_subject = utf8_encode($email_subject);
    //$email_body = utf8_encode($email_body);
    //$headers = utf8_encode($headers);
     
    // Check for empty fields
    if(empty($_POST['name'])  		||
       empty($_POST['email']) 		||
       empty($_POST['message'])	||
       !filter_var($_POST['email'],FILTER_VALIDATE_EMAIL))
       {
    	echo "No arguments Provided!";
    	return false;
       }
     
    $name = $_POST['name'];
    $email_address = $_POST['email'];
    $message = $_POST['message'];
     
    // Create the email and send the message
    $to = 'contact@**siteinternet**.fr';
    $email_subject = "Mail depuis **siteinternet**.fr de:  $name";
    $email_body = "Vous avez reçu un nouveau mail via le formulaire de contact de www.**siteinternet**.fr.\n\n"."Détails du mail:\nNom: $name\nEmail: $email_address\n\nMessage:\n$message";
    $headers = "From: noreply@**siteinternet**.fr\n";
    $headers .= "Reply-To: $email_address";
     
    mail($to,$email_subject,$email_body,$headers);
    return true;			
    ?>
    Ce qui semble fonctionner le mieux reste encore le "encode".
    Mes "é" par exemples n'apparaissent que comme 'un losange' lorsque je mets cette possibilité. Avec toutes les autres, un "é" est remplacé par deux losanges.


    Merci de votre aide

  2. #2
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    Un sujet récurrent... mais je ne trouve pas de solution.
    Elle est pourtant donnée à chaque fois que cette question revient...
    Passez à l'UTF-8 sans manquer une étape.
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  3. #3
    Membre actif
    Homme Profil pro
    Ingénieur PI
    Inscrit en
    Août 2011
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur PI
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Août 2011
    Messages : 28
    Par défaut
    J'ai bien lu cet article effectivement.

    J'ai tout fait sur 1, 2, 3 et 4A.
    Me reste Apache en 4B à tester...


    Toujours est-il que en header de mon HTML, j'ai précisé le UTF-8, et en $headers de mon PHP aussi.
    Mais cela ne semble pas suffire.

  4. #4
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    Si tu as une 2CV, tu pourras mettre tous les insignes Ferrari que tu veux dessus, ça restera une 2CV.
    Pour le Web c'est pareil : si ton fichier est encodé à la base en ANSI, tu pourras mettre toutes les meta et tous les headers que tu veux, ça restera de l'ANSI ! Sauf que si tu demandes d'afficher de l'ANSI comme de l'UTF-8, si tout se passe bien, ça se passera mal.
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  5. #5
    Membre actif
    Homme Profil pro
    Ingénieur PI
    Inscrit en
    Août 2011
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur PI
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Août 2011
    Messages : 28
    Par défaut
    Mais je les ai tous ré-encodé en UTF-8 avec notepad++ (en partant du principe que l'option encodage de notepad++ était correcte)

    not enough?

  6. #6
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    C'est UTF-8 sans BOM qu'il faut.
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

Discussions similaires

  1. [PowerShell] Problème avec les caractères spéciaux dans un mail ?
    Par papykun dans le forum Scripts/Batch
    Réponses: 1
    Dernier message: 21/07/2014, 13h46
  2. caractères spéciaux via XAJAX et PHP
    Par Giantrick dans le forum Langage
    Réponses: 6
    Dernier message: 20/03/2010, 12h13
  3. problème de caractères spéciaux dans formulaire
    Par jules_29 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 26/12/2007, 11h15
  4. Caractéres spéciaux et formulaire
    Par Nexussmb dans le forum Langage
    Réponses: 4
    Dernier message: 15/11/2007, 10h31
  5. caractères spéciaux et formulaire.
    Par Empty_body dans le forum Langage
    Réponses: 1
    Dernier message: 10/06/2007, 23h16

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo