Ankündigung

Einklappen
Keine Ankündigung bisher.

Umlaute im Mailfomular werden falsch angezeigt

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Umlaute im Mailfomular werden falsch angezeigt

    Hallo,

    ich ich habe eine Prospektbestellformular, das durch PHP ausgewertert wird, erstellt.

    Mein Auswertungsscript zeigt die Bestellung dem Besteller noch einmal zur Kontrolle an und leitet es per Mail() weiter.

    In meinen Mailprogrammen(Apple Mail, Thunderbird) kommen die Umlaute korrekt an, die Anzeige für den Besteller zeigt die Umlaute falsch an. Ebenso der Webmailer von web.de

    Hier mein Code:
    <?
    $fehler = "";
    $nz = chr(13).chr(10);
    $firma = $_POST['firma'];
    $nachname = $_POST['nachname'];
    $vorname = $_POST['vorname'];
    $strasse = $_POST['strasse'];
    $stadt = $_POST['stadt'];
    $email = $_POST['email'];
    $garagentore = $_POST['garagentore'];
    undsoweiter dann
    if (empty($nachname)) $fehler .= "<li>der Nachname fehlt</li>";
    if (empty($vorname)) $fehler .= "<li>der Vorname fehlt</li>";
    if (empty($strasse)) $fehler .= "<li>der Straßenname fehlt</li>";
    if (empty($stadt)) $fehler .= "<li>der Name der Stadt fehlt</li>";
    if (empty($email)) $fehler .= "<li>die E-Mail Adresse fehlt</li>";
    if (empty($fehler)) {

    $an = "mail@online.de";

    $betreff = "Nachricht via Prospektbestellformular - bitte dem Kunden Prospekte zusenden";
    $from = "From: Prospektformular <mail@online.de>";
    $datum = "Datum: ".date("j.n.Y").$nz;
    $zeit = "Zeit: ".date("H:i").$nz;
    $linie ="-------------------".$nz;
    $aufforderung = "Folgender Kunde wünscht die nachfolgenden Prospekte:";
    $text=$datum.$zeit.$linie.$nz.$aufforderung.$nz.$f irma.$nz.$vorname.$nz.$nachname.$nz.$strasse.$nz.$ stadt.$nz.$email.$nz.$linie.$garagentore.$nz. undsoweiter

    $titel = "Ihre Nachricht wurde versendet";

    mail( $an, $betreff, $text, $from, $headers);

    } else $titel = "Es ist ein Fehler aufgetreten";
    ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title><?=$titel?></title>
    </head>
    <body>
    <?
    if (empty($fehler)) {
    $text = strip_tags($text);
    $text = htmlentities($text);
    $text = str_replace($nz,"<br>",$text);
    echo "<p>Ihre Prospektbestellung wurde verschickt. Vielen Dank für Ihr Interesse!</p>";
    echo "<p>$text</p>";
    echo "<p>Ihre Nachricht konnte nicht versendet werden, weil";
    echo "<ul>$fehler</ul>";
    echo "</p>";
    }
    ?>
    </body>
    </html>

    Hat jemand einen Tipp, wie ich die Umlaute korrekt angezeigt bekomme?

    Viele grüße

    macstef

  • #2
    Bitte benutze [php]-Tags für deinen Code.
    Du solltest den Code mal einrücken, um ihn lesbarer zu machen.
    Wo werden die Umlaute falsch dargestellt, im Browser oder anderen Mailprogrammen?



    PHP-Code:
    if (empty($nachname)) $fehler .= "<li>der Nachname fehlt</li>";
    if (empty(
    $vorname)) $fehler .= "<li>der Vorname fehlt</li>";
    if (empty(
    $strasse)) $fehler .= "<li>der Straßenname fehlt</li>";
    if (empty(
    $stadt)) $fehler .= "<li>der Name der Stadt fehlt</li>";
    if (empty(
    $email)) $fehler .= "<li>die E-Mail Adresse fehlt</li>";
    if (empty(
    $fehler)) 
    Schau bitte mal unter Operator AND bzw. OR im Manual nach.


    PHP-Code:
    mail$an$betreff$text$from$headers 
    Das geht gar nicht. Außerdem sieht das schwer nach Copy'n'Paste aus, ich kann nämlich nirgends die Variablen finden in deinem restlichen Skript.


    PHP-Code:
    <?=$titel?>
    Anmerkung dazu.


    PHP-Code:
    else $titel "Es ist ein Fehler aufgetreten"//so nicht
    else { $titel "Es ist ein Fehler aufgetreten"; } //so 

    Kommentar


    • #3
      Oops, bei meiner Mail Funktion fehlte die abschließende Klammer und das Semikolon. Habe ich in meinem Themenbeitrag ergänzt.

      Die dort aufgeführten Variablen findest du weiter oben. Die Mail kommt ja auch an. Nur in meinem web.de Postfach werden die Umlauteb falsch dargestellt. In meinen sonstigen Mailclients nicht.

      Gruß

      macstef

      Kommentar


      • #4
        Hat noch jemand eine Idee, wie die Umlaute korrekt angezeigt werden?

        Kommentar


        • #5
          Ich bekomme nur im Email statt der Umlaute ? sonst sind sie in der Variablen richtig, wenn ich sie zb mit echo anzeigen lasse.

          Kommentar


          • #6
            Ich geb Dir mal die URL: Service - Prospekte

            Wenn man dort Umlaute in der Adresse eingibt und die Prospekte mit den Umlauten, z.B. Haustüren, anklickt, werden in der Bestätigung die Umlaute falsch angezeigt.

            Sowohl im PHP-Script, als auch im HTML-Formular habe ich UTF-8 Metadaten verwendet.

            Gruß und Dank für die Infos bisher.

            Kommentar

            Lädt...
            X