Umlaute in Formularausgabe

  • Hallo zusammen,

    ich habe ein Problem bei einer Sache, die nicht WordPress betrifft und hoffe, dass mir dennoch dabei geholfen werden kann :)

    Es geht um ein schlichtes Kontaktformular.

    Formular in der HTML-Datei:

    Die auswertung.php sieht so aus:

    Das Formular funktioniert soweit auch, nur zeigt es dann in der E-Mail keine Umlaute an, sondern solche Sachen wie [FONT=&quot]ü[/FONT]. Wie kann ich dem Script sagen, dass es die Umlaute umwandeln soll?

    Mit Google bin ich bisher nur auf diese Lösung gestoßen (die ich auch nachvollziehen konnte): Auf der Seite des Formulars diesen Code einbinden:

    PHP
    <?php header('Content-Type: text/html; charset=utf-8');  ?>

    Leider hat es nicht geholfen. Ich habe leider auch nicht die große Ahnung von PHP, das Formularscript stammt von einem Bekannten, zu dem ich keinen Kontakt mehr habe. Hat jemand eine Idee?

    • Anzeige

    Hallo!

    Wenn du gerade an deiner Website arbeitest oder dein aktuelles Hosting überdenkst: Wir betreiben mit NetzLiving eine Hosting-Plattform, die speziell auf Performance, Sicherheit und einfache Verwaltung ausgelegt ist.

    • ✔️ Schnelle Ladezeiten (optimiert für WordPress & Co.)
    • ✔️ Deutsche Server & DSGVO-konform
    • ✔️ Persönlicher Support (kein 0815-Ticket-System)

    Mehr erfahren

  • UTF-8 ist schon mal gut, aber das muss dann auch durchgezogen werden. Zum einen sollte das die Seite, welche das Formular enthält, ruhig noch mal als Meta-Angabe im Header stehen haben (siehe http://de.selfhtml.org/html/kopfdaten…eichenkodierung).

    Wichtiger ist dann vermutlich, auch die E-Mail so zu codieren, da Du sonst unter einem deutschen Windows die Mail als ISO-8859-1 interpretiert angezeigt bekommst. Also diese Zeile hier:

    [COLOR=#000000][COLOR=#007700][/COLOR][/COLOR]

    PHP
    mail($Empfaenger, $Mailbetreff, $Mailnachricht);

    mal abändern zu:

    [COLOR=#000000][COLOR=#007700][/COLOR][/COLOR]

    PHP
    $my_headers = 'Content-type: text/html; charset=UTF-8' . "\r\n";
    mail($Empfaenger, $Mailbetreff, $Mailnachricht, $my_headers);
  • Hm, \r\n statt nur \n benutzen wenn Du nicht mit Linux arbeitest (wobei ich mir gerade nicht sicher bin, ob das standardisiert ist, welches Zeichen da benutzt werden sollte). Oder vielleicht gleich eine HTML-Mail draus machen.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!