Hi Sven,
Unter der Vorraussetzung, dass das Skript in UTF-8 gespeichert ist, wandern in dieser Konstellation ISO-8859-1-Umlaute in die Betreffzeile, obwohl es keine strikten ASCII-Zeichen sind.
Um ehrlich zu sein ... ich weiß nicht, wovon Du sprichst. Ich habe bisher Alles, was mit utf-8 zu tun hat, nur sehr suspekt verstanden. Ich verstehe das ganze Technik-Sprech bei all den Erklärungen einfach nicht.
Alles, was nicht ASCII (Code 0 bis 127) ist, ist in Mailheadern böse und muss durch Encodingangaben entschärft werden. Die fehlt bei dir.
Das stimmt nicht, dafür ist ja das "Content-Transfer-Encoding" da. (Siehe den Link von dedlfix.)
Doppelt böse dürfte es dann sein, dass der Mailbody dann noch in einem komplett anderen Encoding auftritt, als der Subject-Header.
Das stimmt doch gar nicht, wie kommst Du da drauf? Beides ist eindeutig utf-8!
$empfaenger="test@example.net";
$betreff="Bitte bestätigen Sie Ihren Gästebucheintrag";
$text="Hänsel und Gretel wünschen Sich Hörnchen über alles";
$header="";
$header.="MIME-Version: 1.0\n";
$header.="Content-type: text/plain; charset=utf-8\n";
$header.="Content-Transfer-Encoding: 8bit\n";
$header.="From: Max Mustermann <mustermann@example.com>\n";
mail($empfaenger,utf8_decode($betreff),$text,$header, "-fmustermann@example.com");
Zusätzlich haben die php Ressourcen einen utf8-header:
header("Content-type:text/html;charset=utf-8");
_und_ sind utf-8 codiert gespeichert.
Das können manche Heuristiken ausbügeln, andere offensichtlich aber nicht.
Hm. =(
MfG
Der Brombeermilchtrinker