Umlaute in Emails

Hallo,
ich habe ein Formular in Html erstellt und wenn jemand etwas in
die Boxen mit Umlauten schreibt kann ich diese in meiner Email nicht lesen sondern nur Sonderzeichen. Man weiss zwar was gemeint war aber es sieht nicht schön aus. Kann man beim Absenden etwas einstellen, damit dieses nicht passiert?
Vielen Dank
Robert

Hallo,

ein HTML-Formular kann keine Mails versenden.
Damit sollte das Problem eigentlich schon gelöst sein.
da Du nicht sagst was weiterhin mit den Formulardaten passiert ist es wohl auch unangebracht auf die in html gültigen &a uml; und co Zeichen zu verweisen…

Es ist ein ganz normales Formular mit mailmanager von Strato. Es funktioniert alles einwandfrei, nur eben nicht die Umlaute.

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

ich kenn den mailmanager von Strato nicht. Klingt aber danach also ob der Server die mails verschicken würde…

welche Scriptsprache verwendet der mailmanager?

ich kenn den mailmanager von Strato nicht. Klingt aber danach
also ob der Server die mails verschicken würde…

welche Scriptsprache verwendet der mailmanager?

CGI

kann ich nicht…
aber da kann man es:

http://www.wer-weiss-was.de/cgi-bin/forum/board.fpl?..

Du musst halt den Code des cgi scripts evtl offenbaren…

Hallo,

hast du auf der Formularseite denn irgendein Charset definiert? Das korrekte Charset muss natürlich auch im E-Mail-Header eingetragen sein, sonst muss der Mailclient beim Anzeigen der mail auf das Fallbackcharset zurückgreifen und erwischt damit evtl. das falsche.

Definierst du im head der HTML-Seite ein Charset? Welches Charset liefert der Server aus?

Daniel

Hallo,
hier mein script, vielleicht kannst Du damit mehr anfagen.
Gruß Robert

Formmail.php

<?php $recipient = "[email protected]";
$fmtResponse= implode("", file("response.htt")); $fmtMail= implode("", file("mail.htt")); foreach($HTTP\_POST\_VARS as $key=\> $val) { $fmtResponse= str\_replace("", $val, $fmtResponse); $fmtMail= str\_replace("", $val, $fmtMail); } if ($HTTP\_POST\_VARS["access"] == "irregeheim") { mail($recipient, $HTTP\_POST\_VARS["subject"], $fmtMail); } echo $fmtResponse; ?\> dann: mail.htt Hallo, aus dem Kontaktformular kam folgende Eingabe: Informationen: Bemerkung: Verstaendlich: Bemerkung: Verbesserungen: Uebersichtlich: Bemerkung: Benutzerfreundlich: Bemerkung: Layout: Bemerkung: Anregungen: und response.htt: Danke! Ihre Eingabe wurde verschickt! dann noch das Formular: **Fragen zum Internetauftritt der GPA NRW** Sind Sie mit den Inhalten, dem Aufbau und dem Layout unserer Internetseiten zufrieden? Haben Sie Tipps, was wir verbessern können? Nehmen Sie sich bitte etwas Zeit, um die folgenden Fragen zu beantworten. Helfen Sie uns, Sie künftig noch besser zu informieren. Inhalte Internetseiten 1. Finden Sie auf unseren Internetseiten die Informationen, die Sie suchen? Was sollten wir verbessern? 2. Sind unsere Beiträge verständlich und anschaulich? Was sollten wir verbessern? 3. Welche Informationen vermissen Sie? Aufbau Internetseiten 4. Sind unsere Internetseiten übersichtlich? Was sollten wir verbessern? 5. Sind unsere Internetseiten benutzerfreundlich? Was sollten wir verbessern? Layout Internetseiten 6. Gefällt Ihnen das Layout unserer Internetseiten? Was sollten wir verbessern? Wünsche und Anregungen zum Fragebogen 7. Haben Sie Anregungen zu diesem Fragebogen? > [Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Ich versuchs mal mit PHP!
danke

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo,

das hilft leider so nicht weiter. Im E-Mail-Header muss ein Charset abhängig vom Charset der Seite angegeben werden. Kannst du die URL der Seite posten, auf der dein Kontaktformular ist?

Daniel

hier der Link!
http://www.kiwigpa.de/formular/fragebogen.html
Robert

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo,

deine Seiten sind in UTF-8. Das ist ein Charset, welches die normalen ASCII-Zeichen beinhaltet, darüber hinaus eine quasi beliebige Anzahl von „Sonderzeichen“ erlaubt. Da die deutschen Umlaute nicht im ASCII-Zeichensatz enthalten sind, werden sie in UTF-8 Kodiert. Da deine Mail keinen charset-Header angibt, geht dein Mailprogramm davon aus, dass du ISO-8859-1 benutzt, welches die deutschen Umlaute anders kodiert als UTF-8.

Entweder stellst du nun dein Mailprogramm auf UTF-8 als Standardzeichensatz oder du gibtst deiner Mail im Header das entsprechende charset. Ich würde die zweite Variante bevorzugen, da leider viele Mails kein charset im Header angeben, aber trotzdem in ISO-8859-1 kodiert sind.

Ändere einfach die Zeile

mail($recipient, $HTTP\_POST\_VARS["subject"], $fmtMail);

in

mail($recipient, $HTTP\_POST\_VARS["subject"], $fmtMail, 'Content-Type: text/plain; charset=utf-8');

Das sollte funktionieren.

Daniel

2 Like

Super,
es funktioniert!!!
vielen Dank!

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]