par
laurentsc » 23 mars 2012, 14:02
Bonjour,
j'ai beau chercher, j'ai un problème avec des caractères spéciaux dans un mail (mais pas tous ; la plupart sont bons

)(et pourtant, à priori, j'ai tout mis en utf8).
Le problème se situe dans le sujet du mail ; voici mon code :
Code : Tout sélectionner
$dest="---";
$sujet=$nom_officieux." sera ".$statut."(e) au match du ".$date;
$texte=$_POST['note'];
$nom=$nom_officieux;
$email="---";
$from="From: $nom<$email>\r\n";
$from.="Reply-To: $nom <$email>\n";
$from.= 'MIME-Version: 1.0' . "\r\n";
$from.= 'Content-type: text/plain; charset=utf8' . "\r\n";
function mail_utf8($to, $subject, $message , $header){
$header_ = 'MIME-Version: 1.0' . "\r\n" . 'Content-type: text/plain; charset=UTF-8' . "\r\n";
mail($to, "=?UTF-8?B?".base64_encode($subject).'?=', $message, $header_ . $header);
}
mail_utf8($dest,$sujet,$texte,$from);
Le problème est lié à l'affichage de la variable $nom_officieux dans le sujet ; cette variable vient de MySQL mais elle semble bonne puisqu'elle est aussi utilisée dans le header et que là, pas de problème. Quelle serait donc la solution ? (si, dans le sujet, pour le test, je mets volontairement des caractères spéciaux, ça passe bien).
Bonjour,
j'ai beau chercher, j'ai un problème avec des caractères spéciaux dans un mail (mais pas tous ; la plupart sont bons :?: :?: )(et pourtant, à priori, j'ai tout mis en utf8).
Le problème se situe dans le sujet du mail ; voici mon code :
[code]$dest="---";
$sujet=$nom_officieux." sera ".$statut."(e) au match du ".$date;
$texte=$_POST['note'];
$nom=$nom_officieux;
$email="---";
$from="From: $nom<$email>\r\n";
$from.="Reply-To: $nom <$email>\n";
$from.= 'MIME-Version: 1.0' . "\r\n";
$from.= 'Content-type: text/plain; charset=utf8' . "\r\n";
function mail_utf8($to, $subject, $message , $header){
$header_ = 'MIME-Version: 1.0' . "\r\n" . 'Content-type: text/plain; charset=UTF-8' . "\r\n";
mail($to, "=?UTF-8?B?".base64_encode($subject).'?=', $message, $header_ . $header);
}
mail_utf8($dest,$sujet,$texte,$from);[/code]
Le problème est lié à l'affichage de la variable $nom_officieux dans le sujet ; cette variable vient de MySQL mais elle semble bonne puisqu'elle est aussi utilisée dans le header et que là, pas de problème. Quelle serait donc la solution ? (si, dans le sujet, pour le test, je mets volontairement des caractères spéciaux, ça passe bien).