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 :

fonction mail: caractère accentué pas affiché


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Homme Profil pro
    Inscrit en
    Novembre 2010
    Messages
    362
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2010
    Messages : 362
    Points : 70
    Points
    70
    Par défaut fonction mail: caractère accentué pas affiché
    Bonjour,

    Je viens de tester le code de mon fichier MyForm.php qui gère les données du formulaire de mon site ainsi que l'envoi de ces données.

    L'envoi se passe bien et je reçois tout.

    Le souci est que les caractères accentués ne s'affichent pas.

    Pourtant j'ai relu mes notes et en mettant

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $mail_entete .= 'Content-Type: text/plain; charset="iso-8859-1"';
    ca devrait marcher non ?

    Bref voici le code de mon fichier et en pièce jointe le résultat dans ma boîte emails.

    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
    <?php
     
    define('MAIL_DESTINATAIRE','ricardoarrabito@creditriskmanagement.be'); 
    define('MAIL_SUJET',$object);
     
    //Préparation de l'entête du mail:
    $mail_entete  = "MIME-Version: 1.0\r\n";
    $mail_entete .= "From: {$_POST['name']} "
                 ."<{$_POST['email']}>\r\n";
    $mail_entete .= 'Reply-To: '.$_POST['email']."\r\n";
    $mail_entete .= 'Content-Type: text/plain; charset="iso-8859-1"';
    $mail_entete .= "\r\nContent-Transfer-Encoding: 8bit\r\n";
    $mail_entete .= 'X-Mailer:PHP/' . phpversion()."\r\n";
     
    // préparation du corps du mail
    $mail_corps  = "Message de : $name\n";
    $mail_corps .= $message;
     
    // envoi du mail
    if (mail(MAIL_DESTINATAIRE,MAIL_SUJET,$mail_corps,$mail_entete)) 
    	{
    	//Le mail est bien expédié
    	echo "Nickel lol";	
    	} 
    else {
    	//Le mail n'a pas été expédié
    	echo "Une erreur est survenue lors de l'envoi du formulaire par email";
    }
     
    ?>
    Et ci-dessous le code du formulaire.

    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
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    <form action="MyForm.php" method="post">
     
    			<span class="Legend">General information</span>
     
    			<fieldset id="FormData">
     
    				<P>
    				<label for="company">Company :</label>
    				<input id="company" name="company" type="text" required placeholder="Enter your company">
    				</p>
     
    				<p>
    				<label for="name">Name :</label>
    				<input id="name" name="name" type="text" required placeholder="Enter your name">
    				</p>
     
    				<p>
    				<label for="firstname">Firstname :</label>
    				<input id="firstname" name="firstname" type="text" required placeholder="Enter your firstname">
    				</p> 
     
    				<p>
    				<label for="email">E-mail :</label>
    				<input id="email" name="email" type="email" size="30" required placeholder="Enter your email">
    				</p>
     
    			</fieldset>
     
    				<span class="Legend">Your message</span>
     
    			<fieldset id="FormMessage">
     
    				<p>
    				<label for="object">Objet :</label>
    				<input id="object" name="object" type="text" size ="40" required placeholder="Entrez l'objet de votre message">
    				</p>
     
    				<textarea name="message" rows="8" cols="45"></textarea>
     
    			</fieldset>
     
    				<span class="Legend">Upload a file</span>
     
    			<fieldset id="FormFile">
     
    				<input type="hidden" name=\"max_file_size" value="50000">
    				<input type="file" name="file"><br><br>
     
    			</fieldset>
     
    				<span class="Legend">Validation</span>
     
    			<fieldset id="FormSubmit">
     
    				<input type="submit" value="Send">
    				<input type="reset" value="Reset"> 
     
    			</fieldset>
     
    		</form>
    Images attachées Images attachées  

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Il y a une conversion en entités HTML quelque part.
    Peut être que ton en-tête est mal lue, essaie comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $mail_entete .= 'Content-Type: text/plain; charset=iso-8859-1';

  3. #3
    Membre régulier
    Homme Profil pro
    Inscrit en
    Novembre 2010
    Messages
    362
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2010
    Messages : 362
    Points : 70
    Points
    70
    Par défaut
    Euh ou je suis trop fatigué pour voir la distinction avec mon code ou tu t'es trompé.

    Quelle est la différence avec ce que j'ai écrit ???????

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $mail_entete .= 'Content-Type: text/plain; charset="iso-8859-1"';
    $mail_entete .= 'Content-Type: text/plain; charset=iso-8859-1';

Discussions similaires

  1. [Mail] la fonction mail() ne fonctionne pas
    Par Emilie012 dans le forum Langage
    Réponses: 9
    Dernier message: 29/12/2008, 17h34
  2. [Mail] Fonction mail() n'envoie pas
    Par Zenerox dans le forum Langage
    Réponses: 4
    Dernier message: 15/09/2007, 12h48
  3. [Mail] fonction mail qui fonctionne pas
    Par digger dans le forum Langage
    Réponses: 3
    Dernier message: 31/08/2006, 22h28
  4. [Forum] Fonction mail() ne marche pas chez OVH ?
    Par quanou dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 8
    Dernier message: 08/11/2005, 13h11
  5. Caractère accentué pas intéprété - help!
    Par psychomatt dans le forum Apache
    Réponses: 2
    Dernier message: 15/09/2005, 08h42

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