OVH Community, votre nouvel espace communautaire.

problème de caractères spéciaux dans mail (utf8 marche pas)


zola2
23/04/2012, 19h26
Vérifie en quoi est codé ton fichier php (Ansi ? UTF8 ?) et idem pour tes champs de ta BDD

laurents
22/03/2012, 22h40
Bonsoir,

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 ).
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);
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).