maggie: Kontaktformular utf-8 problem

Hallo,
ein Kontaktformular gibt die Umlaute falsch wieder: Grüße erscheint so: GrüÃ

Meta tag:
<meta http-equiv="content-type" content="text/html;charset=utf-8">

Das Formular beginnt so:
<FORM ACTION=http://www.domainname.de/cgi-bin/formmailer.pl METHOD=POST accept-charset="UTF-8">

Muss noch an anderer Stelle die das charset utf-8 angegeben werden?

Gruß
Maggie

  1. hi,

    <FORM ACTION=http://www.domainname.de/cgi-bin/formmailer.pl METHOD=POST accept-charset="UTF-8">

    Zeig mal die Maildatei, welche formmailer.pl erstellt.
    --

    1. hi,

      <FORM ACTION=http://www.domainname.de/cgi-bin/formmailer.pl METHOD=POST accept-charset="UTF-8">

      Zeig mal die Maildatei, welche formmailer.pl erstellt.

      realname:

      email:

      subject: Kontakt

      nachricht: Hallo!
      "Düsseldorfer Bälger schütten à l auf die Straà e."
      Viele Grüà e

      telefon:

      adresse:

      1. hi,

        <FORM ACTION=http://www.domainname.de/cgi-bin/formmailer.pl METHOD=POST accept-charset="UTF-8">

        Zeig mal die Maildatei, welche formmailer.pl erstellt.

        [...]

        Interessant. Da fehlen ja alle Header, insbesondere diejenigen, welche die Zeichenkodierung betreffen.

        Du hast 2 Möglichkeiten:

        • studiere die einschlägigen RFCs, so weißt Du wie eine Maildatei auszusehen hat und so kannst Du die auch mit Perl erstellen
        • Nutze ein zweckmäßiges CPAN Modul

        Horst

        1. hi,

          <FORM ACTION=http://www.domainname.de/cgi-bin/formmailer.pl METHOD=POST accept-charset="UTF-8">

          Zeig mal die Maildatei, welche formmailer.pl erstellt.

          [...]

          Interessant. Da fehlen ja alle Header, insbesondere diejenigen, welche die Zeichenkodierung betreffen.

          Du hast 2 Möglichkeiten:

          • studiere die einschlägigen RFCs, so weißt Du wie eine Maildatei auszusehen hat und so kannst Du die auch mit Perl erstellen
          • Nutze ein zweckmäßiges CPAN Modul

          Horst

          Hallo Horst,
          ich habe die Ausgabe gezeigt, also so wie das Formular als E-Mail angekommen ist.
          Die HTML Datei, die das formmailer.pl aufruft, sieht so aus:

          <FORM ACTION=http://www.domainname.de/cgi-bin/formmailer.pl METHOD=POST accept-charset="UTF-8">  
            
            <INPUT type=hidden name=recipient value=&#107;&#111;&#110;&#116;&#97;&#107;&#116;&#64;&#114;&#101;&#103;&#105;&#110;&#97;&#98;&#97;&#99;&#104;&#109;&#97;&#110;&#110;&#46;&#100;&#101;>  
            <INPUT type=hidden name=subject value="Kontakt">  
            <INPUT type=hidden name=print_config value="realname, email, subject, telefon, adresse, nachricht">  
            <INPUT type=hidden name=print_blank_fields value=1>  
            <INPUT type=hidden name=redirect value=http://www.domainname.de/kontakt_danke.htm>  
            <table border="0" style="border-collapse: collapse" id="kontakt" cellpadding="0">  
            <tr>  
            <td align="left" valign="top">  
              Name:  
            <br>  
            <INPUT NAME=realname size=42 tabindex=1>  
            </td>  
            <td align="left" valign="bottom" rowspan="4">&nbsp;&nbsp;</td>  
            
            <td align="left" valign="bottom" rowspan="4">  
            
           Nachricht:<br>  
            <textarea rows="9" cols="42" name="nachricht" tabindex="5"></textarea></td>  
            </tr>  
            <tr>  
            <td align="left" valign="top">  
              Telefon:<br>  
            <INPUT NAME=telefon size=42 tabindex=2>  
            </td>  
            </tr>  
            <tr>  
            <td align="left" valign="top">  
              eMail:<br>  
            <INPUT NAME=email size=42 tabindex=3></td>  
            </tr>  
            <tr>  
            <td align="left" valign="bottom">  
              Adresse:<br>  
            <textarea name="adresse" cols="39" rows="2" tabindex="4"></textarea>  
            </td>  
            </tr>  
            </table>  
            <p style="margin-left: 10px; margin-top: 0; margin-bottom: 0">&nbsp;</p>  
            
            <INPUT type=reset value=Zur&uuml;cksetzen>&nbsp;  
            <INPUT TYPE=submit VALUE=Abschicken></FORM>
          
          1. moin,

            ich habe die Ausgabe gezeigt, also so wie das Formular als E-Mail angekommen ist.
            Die HTML Datei, die das formmailer.pl aufruft, sieht so aus:

            Du verwendest dein Mailformular online und möchtest utf-8. Prüfe, ob die Seite mit dem Formular mit dem HTTP-Response-Header

            Content-Type: text/html; charset=UTF-8

            ausgeliefert wird. Dein Script formmailer.pl nimmt die Eingaben entgegen und erstellt eine Maildatei. Hierin sind Header zu setzen, was die Zeichenkodierung betrifft, damit ein Mailclient die richtig darstellen kann. Beispiel:

            Content-Transfer-Encoding: quoted-printable
            Content-Type: text/plain; Charset=UTF-8

            Der Subject-Header muss ASCII sein, er kann, um das sicherzustellen, quoted-printable oder base64 kodiert sein und beinhaltet dazu außerdem die Angabe der Kodierung. Lege den Subject-Header einfach selbst fest (ASCII).

            Erstelle die Maildatei über ein Template:
            ---------------------------- schnipp -----------------------------------
            From: %from%
            To: %to%
            Subject: %subject%
            Date: %date%
            Content-Transfer-Encoding: quoted-printable
            Content-Type: text/plain; Charset=%charset%

            %mesg%
            ---------------------------- schnapp -----------------------------------

            Dann sieht die auch so aus wie sie sein soll ;)

            1. Danke für die ausführliche Erklärung!
              Maggie