• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Problem mit Umlauten und mail()

Mo3b

Mitglied
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= "[email protected]";
$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);

Mfg Mo3b
 
Entweder anderen Zeichensatz verwenden, oder html-sonderzeichen verwenden:
PHP:
$text = str_replace("ä","&auml",$text);
$text = str_replace("ö","&ouml",$text);
//...
 
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:

Code:
&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 (;) enden.
 
Zurück
Oben