Umlaute in Mail-Text werden falsch dargestellt

Hallo,

hab schon ewig gesucht, aber ich finde den Fehler nicht.

Hab ein UFT-8 Dokument, in dem ein Formular liegt, in das ein Mailtext eingegeben wird. Dieser wird mit

@mail($mailto,$mail_subject,$text,$mail_header)

verschickt. Wenn Umlaute dabei sind, werden diese im Mailprogramm (z.B. Thunderbird) falsch dargestellt, auch wenn ich dort bei Zeichencodierung UFT-8 einstelle.

Der Header sieht so aus:
// Mail-Header:
$mail_header = „From: „.$mail_name.“ \n“;
$mail_header .= „X-Sender-IP: „.$ip.“\n“;
$mail_header .= „MIME-Version: 1.0\n“;
$mail_header .= „Content-Type: multipart/mixed; boundary=“".$boundary.""\n";
$mail_header .= „This is a multi-part message in MIME format.\n“;
// Mail-Text:
$mail_header .= „–“.$boundary;
$mail_header .= „\nContent-Type: text/plain; UTF-8;\r\n“;
// $mail_header .= „\nContent-Transfer-Encoding: 8bit“;
$mail_header .= „\n\n“.$text;

Was ist da falsch?

Viele Grüße,
Tony

Workaround:
/* In Texten Umlaute richtig darstellen */
$sonderzeichen=array( „ö“ => „ö“, „ü“ => „ü“, „ß“ => „ß“,„ä“ => „ä“, „Ä“ => „Ä“, „Ãœ“ => „Ü“, „Ö“ => „Ö“, „é“ => „Ë“);
$text = strtr($text, $sonderzeichen);

Klaus

Hallo Tony,

hast Du im form-tag accept-charset=„utf-8“ gesetzt?

mfg
Klaus

hast Du im form-tag accept-charset=„utf-8“ gesetzt?

Hallo Klaus,

danke für Deine schnelle Antwort. Ja, hab ich:

" enctype=„multipart/form-data“>

Viele Grüße,
Tony

$sonderzeichen=array( „ö“ => „ö“, „ü“ => „ü“, „ß“ =>
„ß“,„ä“ => „ä“, „Ä“ => „Ä“, „Ãœ“ => „Ü“, „Ö“ => „Ö“, „é“
=> „Ë“);

Danke. Hab das einbgebaut mit ’ statt ", also so:

$sonderzeichen=array( ‚ö‘ => ‚ö‘, ‚ü‘ => ‚ü‘, ‚ß‘ => ‚ß‘,‚ä‘ => ‚ä‘, ‚Ã"‘ => ‚Ä‘, ‚Ãœ‘ => ‚Ü‘, ‚Ö‘ => ‚Ö‘, ‚é‘ => ‚Ë‘);
$text = strtr($text, $sonderzeichen);

Weil Dreamweaver mir die „ die beim großen Ä vorkommen in " umwandelt und damit die Syntax durcheinander bringt.

Aber es funktioniert leider nicht. In dem Mails kommen immernoch äöü statt äöü an.

Übrigens - wenn ich mir den $text nach dem Verschicken der Mail nochmal mit echo auf den Bildschirm ausgeben lasse, werden die Umlaute richtig dargestellt (muss ja auch so sein - ist ja ein UTF-8 Dokument).

Viele Grüße,
Tony

Hi, wie gesagt, workaround bist du den richtigen header gefunden hast.
Probleme bei PHP mail bekannt sind.
Mit Imap sollte es funzen. (schnell mal gegoogled)

Mein workaraound sollte funktionieren wenn du als §mail_header folgendes machst:
From: $email_email

Klaus
P.S. Werd später mal deinen header probieren.

Hallo Tony,

müsste funktionieren, wenn Du das mit reinnimmst:

Content-Transfer-Encoding: **quoted-printable**

( 8-bit war richtigerweise auskommentiert )

mfg
Klaus

$sonderzeichen=array( ‚ö‘ => ‚ö‘, ‚ü‘ => ‚ü‘, ‚ß‘ =>
‚ß‘,‚ä‘ => ‚ä‘, ‚Ã"‘ => ‚Ä‘, ‚Ãœ‘ => ‚Ü‘, ‚Ö‘ => ‚Ö‘, ‚é‘
=> ‚Ë‘);

Du willst „Sonderzeichen“ umwandeln?
von utf „ö“ in iso „ö“
nimm: utf8_decode

Hallo Tony,

um eventuelle Fehler beim mulitpart auszugrenzen und festzustellen, ob es wirklich mit dem Zeichensatz zusammenhängt mal so versenden:


@mail($mailto,$mail_subject,$text,$mail_header)


$mail_header = „From: „.$mail_name.“ \n“;
$mail_header .= „X-Sender-IP: „.$ip.“\n“;
$mail_header .= „MIME-Version: 1.0\n“;
$mail_header .= „Content-Type: text/plain; charset=UTF-8;\n“;
$mail_header .= „Content-Transfer-Encoding: quoted-printable\n\n“;

Gruß
Klaus



@mail($mailto,$mail_subject,$text,$mail_header)





$mail_header = „From: „.$mail_name.“ \n“;

$mail_header .= „X-Sender-IP: „.$ip.“\n“;

$mail_header .= „MIME-Version: 1.0\n“;

$mail_header .= „Content-Type: text/plain; charset=UTF-8;\n“;

$mail_header .= „Content-Transfer-Encoding:
quoted-printable\n\n“;

Hallo,

mit diesem Header und Sendemethode funktioniert es! :smile:

(utf8_encode hatte ich auch schon probiert, aber das hatte nichts gebracht)

Habt beide herzlichen Dank!

Tony

Hallo,
mit diesem Header und Sendemethode funktioniert es! :smile:

na dann … ran

(utf8_encode hatte ich auch schon probiert, aber das hatte
nichts gebracht)

wieso auch … es lag daran wie du @mail aufbaust!!

Habt beide herzlichen Dank!

ich bin nur einer!!

ich bin nur einer!!

Ach so… :smile:) Ich dachte KKO und ganz_und_gar wären zwei verschiedene Personen, die beide Klaus heißen!

Na denn- danke Dir und einen schönen Abend noch!

Tony