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

Umlautproblem bei 1&1 Formmailer

MrMurphy

Senior HTML'ler
Hallo,

ich habe für einen Verein eine Internetseite beim Provider 1&1 erstellt. Dazu gehört auch ein Kontaktformular.

Bei der Weiterleitung werden aber die Umlaute falsch übermittelt. Aus

ä ö ü

wird z. B.

À ö Ì

Der Formmailer selbst besteht aus einem php-Script, das ich übernommen habe.

PHP:
<?php
  $recipient = "[email protected]";
  $fmtResponse= implode("", file("kontakt_danke.html"));
  $fmtMail= implode("", file("mail.htt"));
  foreach($_POST as $key=> $val) {
    $fmtResponse= str_replace("<$key>", $val, $fmtResponse);
    $fmtMail= str_replace("<$key>", $val, $fmtMail);
  }
   if ($_POST["access"] == "irregeheim") {
       $fmtMail = preg_replace( "/<(.*)>/", "", $fmtMail );
       mail($recipient, $_POST["subject"], $fmtMail);
      }
  echo $fmtResponse;
?>

In einem älteren Beitrag eines anderen Forums habe ich die Information gefunden, folgende Zeilen am Anfang des php-Scripts einzufügen:

PHP:
$header = "From: Absender <[email protected]>\r\n";
$header .= "Content-Type: Charset=utf-8\r\n";

Das hat bei mir aber nichts geändert.

Das Format der Datei ist laut Notepad++ UTF-8. Ich habe das mal probehalber auf ANSI geändert, aber auch das nichts gebracht.

Wie kann ich den Formmailer von 1&1 veranlassen, die Umlaute korrekt zu übermitteln?

Gruss

MrMurphy
 
Werbung:
Prüfe mal mit welchem Zeichensatz das Formular im Browser ausgegeben wird. Ich tippe drauf, dass es nicht utf8 ist.
 
Hallo,

doch, der Browser (Firefox) sagt unter "Ansicht - Zeichenkodierung": Unicode (UTF8).

Das gleiche sagt der Webdeveloper unter "Informationen - Seiteninformationen anzeigen": Kodierung UTF-8.

Gruss

MrMurphy
 
Zuletzt bearbeitet:
Werbung:
Mmh, du hast diese $header-Definition eingefügt - hast Du sie auch bei der mail()-Funktion ergänzt?
 
Hallo,

ich kenne mich mit php leider gar nicht aus und habe den Quelltext nur übernommen, weil ich ihn für die Formmailer Funktion von 1&1 benötige.

Deshalb verstehe ich deine Antwort nicht. Wie muss die denn bei der mail()-Funktion eingefügt werden?

Gruss

MrMurphy
 
Werbung:
Hallo,

die Antwort finde ich nun etwas albern. Ich kann weder englisch noch php. Und es ist wohl etwas übertrieben für ein einzelnes Problem gleich eine ganze Programmiersprache zu lernen.

Übersetzt heißt das wahrscheinlich, das du auch keine Lösung für das Problem hast.

Gruss

MrMurphy
 
Die Seite kann man auch auf deutsch umschalten:
PHP: mail - Manual

Und du musst nicht lernen sondern nur mal das Beispiel dort mit deinem Code vergleichen. Die sind sich (besonders in Beispiel #2) ziemlich ähnlich, daher sollte dir schnell auffallen, wo $header rein muss.
 
Du kannst deinen Text ja vor dem Versenden mal durch utf8_encode(), utf8_decode() leiten und sehen, was passiert.
 
Werbung:
Zurück
Oben