missloo

Inscris le 13/10/2009 à 22:40
  • Nombre de sujets
    1
  • Nombre de messages
    2
  • Nombre de commentaires
    Aucun
  • Nombre de news
    Aucune
  • Niveau en PHP
    Débutant

Ses derniers sujets sur les forums

missloo
le 13/10/2009 à 23:09
Caractére spéciaux et envoie mail php
bonjour

j'ai crée un fichier php qui renvoi un mail automatique a l'utilisateur.
il est formaté en html.
j'ai un problème avec l'encodage des caractère spéciaux.
j'ai compris que le problème venait du choix du charset.
j'ai donc changer
$message .= "Content-Type: text/html; charset=\"ISO-8859-1\"\n";
par
$message .= "Content-Type: text/html; charset=\"utf-8\"\n";
ce qui a résolu le problème pour mon texte mais pas pour le texte qui s'affiche dynamiquement par le biais de variable

pour plus de compréhension voici mon code php
<?php
// on génère une frontière
$boundary = '-----=' . md5( uniqid ( rand() ) );
// on génère un identifiant aléatoire pour le fichier
$file_id = md5( uniqid ( rand() ) ) . $_SERVER['SERVER_NAME'];

// on va maintenant lire le fichier et l'encoder
$path = 'bonbienvenu.jpg'; // chemin vers le fichier
$fp = fopen($path, 'rb');
$content = fread($fp, filesize($path));
fclose($fp);
$content_encode = chunk_split(base64_encode($content));

$headers = "From: \"Passdouceur\"<totot@mdr.com>\n";
$headers .= "X-Priority: 1\n";
$headers .= "MIME-Version: 1.0\n";
$headers .= "Content-Type: multipart/related; boundary=\"$boundary\"";

$sujet = "Offre découverte PASSDOUCEUR ";

$message = 'This is a multi-part message in MIME format.'."\n\n";
$message .= "--" . $boundary . "\n";
$message .= "Content-Type: text/html; charset=\"utf-8\"\n";
$message .= "Content-Transfer-Encoding: 8bit\n\n";
$message .= "<html><body>Madame ".$nom." ".$prenom.", <br><br>";
$message .= "Veuillez trouvez ci-joint le bon de réduction à valoir sur votre premier rendez vous.<br>";
$message .= "Il est valable sur l'ensemble de la gamme Passdouceur<br>";
$message .= "Alors n'attendez plus <br>";
$message .= "Prenez rendez-vous dés à présent au 06 00 00 00 00 <br>";
$message .= "<br>@+<br><br>";
$message .= "<img src=\"cid:$file_id\" alt=\"le fichier demandé\"><br>";
$message .= "\n\n";
$message .= "--" . $boundary . "\n";
$message .= "Content-Type: image/jpg; name=\"bonbienvenu.jpg\"\n";
$message .= "Content-Transfer-Encoding: base64\n";
$message .= "Content-ID: <$file_id>\n\n";
$message .= $content_encode . "\n";
$message .= "\n\n";
$message .= "--" . $boundary . "--\n";

mail($mail , $sujet , $message, $headers);
?>


voici le mail reçu avec le ç noté �

Madame Delaville fran�oise,

Veuillez trouvez ci-joint le bon de réduction à valoir sur votre premier rendez vous.
Il est valable sur l'ensemble de la gamme Passdouceur
Alors n'attendez plus
Prenez rendez-vous dés à présent au 06 00 00 00 00

@+

quelle solution pour que tout soit affiché correctement

merci de vos réponses
LoadingChargement en cours