Email mit php

rernanded

Erfahrenes Mitglied
Hi,
das Script unten versendet alles was ich will korrekt NUR die deutschen Umlaute und das "ß" krieg ich als kryptische Sonderzeichen.
MONI
PHP:
<?php
$To = $_POST["Zieladresse"];
$Betreff = $_POST["Betreff"];
$ersteZeile =  $_POST["ersteZeile"];
$zweiteZeile =  $_POST["zweiteZeile"];
$Benutzername =  $_POST["Benutzername"];
$Zeitstempel = date("d-m-Y H:i:s");
$E_Mail = $_POST["E_Mailadresse"];
$Text = "
$Zeitstempel

$Betreff

$Benutzername

$ersteZeile

$zweiteZeile
";
mail($To, $Betreff, $Text, "From:".$E_Mail."\r\nMime-Version: 1.0; Content-Type: text/plain; charset=ISO-8859-1; Content-Transfer-Encoding: quoted-printable")
or die("Die E-mail konnte NICHT versendet werden.");
print "Ihre E-mail wurde versendet.";
?>
<br />
<br />
<br />
Bitte immer <a href="logout.php">ausloggen</a>! Danke.
 
Hi,

Das sieht wie ein typisches Kodierungsproblem aus.
Wie werden deine Seiten an den Client ausgeliefert (Content-Type im <meta>-Tag, header("Content-Type: ...") usw?

Grüße,
BK
 
Hi,

Das sieht wie ein typisches Kodierungsproblem aus.
Wie werden deine Seiten an den Client ausgeliefert (Content-Type im <meta>-Tag, header("Content-Type: ...") usw?

Grüße,
BK


@Bratkartoffel: Da hab ich noch gar nichts in den meta-tags. Auch kein header, nix. Was sollte den sinnigerweise alles rein? header soweit ich weiß immer vor der Ausgabe.

@spicelab: Sorry, das mit utf-8 hatte ich schon, geht aber auch nicht.
 
Damit alle Buchstaben korrekt dargestellt werden, müssen die Kodierung des Textes und die eigentliche Kodierung, die zum Anzeigen verwendet wird, übereinstimmen.

Die Kodierung des Textes hängt bei dir vom Browser ab, da du die Daten vom Browser bekommst. Ein normaler Browser versendet normalerweise die Daten in einem Formular in der Kodierung, in der die Seite ausgegeben wurde. Wenn du weder einen Header noch einen Meta-Tag hast, dann nimmt ein Browser irgendeine andere Kodierung, die du in der Entwicklerkonsole herausfinden können müsstest.

Die Kodierung auf UTF-8 zu ändern bringt nur etwas, wenn die Seite tatsächlich mit UTF-8 ausgeliefert wurde bzw. der Browser das Formular in UTF-8-Kodierung verschickt.
 
Versuch es zusätzlich mal hiermit:
PHP:
header('Content-Type: text/plain; charset=utf-8');
...und wähle die Kodierung "UTF-8" beim Speichern der Datei, damit sie so kodiert übergeben wird.
___________________
[edit]Tipp-Ex[/edit]
 
Zuletzt bearbeitet:
Zurück