Problem mit Umlauten und mail()

Hi,
ich habe Probleme mit der mail()-Funktion von php. Ich habe dasselbe Problem schon öfters im Internet gefunden, außerdem habe ich auf PHP: Hypertext Preprocessor die Beispiele durchgesehen. Dennoch komme ich nicht weiter.
Sämtliche Umlaute werden bei mir als kryptische Zeichen dargestellt.

Hier mein Code:

[PHP]
$mail_empfaenger= „test@mail.de“;
$betreff=„Buchbestellung“;
$header = ‚MIME-Version: 1.0‘ . „\r\n“;
$header .= ‚Content-type: text/html; charset=utf-8‘ . „\r\n“;
$text=
"
Hallo äöüßÖÄÜ
";
mail($mail_empfaenger, $betreff, $text, $header);
[/PHP]

Mfg Mo3b

Entweder anderen Zeichensatz verwenden, oder html-sonderzeichen verwenden:
[PHP]
$text = str_replace(„ä“,„&auml“,$text);
$text = str_replace(„ö“,„&ouml“,$text);
//…
[/PHP]

Die Datei muss in UTF-8 gespeichert werden und am besten muss der an den Browser gesendete Header auch UTF-8 sein.

Die Datei muss in UTF-8 gespeichert werden und am besten muss der an den Browser gesendete Header auch UTF-8 sein.

Meine Dateien liegen in utf-8 vor. Den Header der Email schicke ich ja so ab, wie im Post beschrieben, somit müsste da alles utf-8 sein?

Entweder anderen Zeichensatz verwenden, oder html-sonderzeichen verwenden:

Ich habe mal die Sonderzeichen ausprobiert. Interessanterweise werden sie bei mir auch genau so wieder in Thunderbird angezeigt. Also z.B öse sehe ich so in der Mail:

&oumlse

Anscheinend interpretiert Thunderbird meine Mail nicht als Html, somit kann ich alles Html-Zeugs vergessen. Ich müsste den Text schon „richtig“ kodiert abschicken. Nur wie?..

Mfg Mo3b

Bist du dir sicher, dass die Dateienn in UTF-8 kodiert sind?
Was die Entitys angeht, diese müssen mit Semikola (:wink: enden.