PHP POST Umlaute Kodierung falsch?

Hi!

Also ich habe ein Kontaktformular auf meiner HTML Seite. Da gibt man halt so Sachen wie Name und eine Nachricht und so weiter ein. Die Daten werden dann per POST an die PHP Datei geschickt, welche diese per Mail verschicken soll. Das Mail versenden klappt auch soweit, aber die Umlaute werden als komische Sonderzeichen angezeigt, der Rest der Mail kommt normal an. Ich dachte vielleicht interpretiert der mail Befehl die Sonderzeichen irgendwie falsch, deshalb habe ich in meiner PHP noch folgende Zeilen eingebaut die die Umlaute aus der Nachricht entfernen sollen bevor sie verschickt wird.

$messagemail = $_POST['message'];

$messagemail = str_replace("ä", "ae" , $messagemail);
$messagemail = str_replace("ü", "ue" , $messagemail);
$messagemail = str_replace("ö", "oe" , $messagemail);
$messagemail = str_replace("Ä", "Ae" , $messagemail);
$messagemail = str_replace("Ü", "Ue" , $messagemail);
$messagemail = str_replace("Ö", "Oe" , $messagemail);
$messagemail = str_replace("ß", "ss" , $messagemail);
$messagemail = str_replace("´", "" , $messagemail);
$messagemail = str_replace("`", "" , $messagemail);
$messagemail = str_replace("é", "" , $messagemail);
$messagemail = str_replace("è", "" , $messagemail);

Allerdings ersetzt der str replace Befehl in dem String garnichts, die Mail kommt wie vorher mit seltsamen Sonderzeichen an. Jetzt habe ich die Befürchtung, dass die Sonderzeichen nicht durch den Mail Befehl so verunstaltet werden, sondern schon durch das Senden mit POST an das PHP Dokument. Wenn die Sonderzeichen nämlich schon falsch im PHP Dokument ankommen, kann str_replace natürlich auch keine ä oder ö usw. finden bzw. ersetzen.

Wie kann ich kontrollieren, dass die Sonderzeichen mit POST richtig übertragen werden??

LG Yoda00

Codierung, PHP

Meistgelesene Beiträge zum Thema PHP