Ergebnis 1 bis 10 von 10

Thema: Umlaute als Fragezeichen

  1. #1
    Teeny
    Registriert seit
    26.02.2009
    Beiträge
    21
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard Umlaute als Fragezeichen

    Sämtliche Umlaute kommen in den Emails aus meinem Formular als Fragezeichen an!
    Nach langer Suche bei Google und in verschiedenen Foren bin ich zum Ergebniss gekommen, daß es an der Kodierung liegen muss / soll.

    Momentan ist diese auf charset=utf-8 eingestellt.
    Laut Google und anderen Foren, muss man die Datenbank ebenfalls komplett auf diese Kodierung umstellen. Dies habe ich getan...hat aber nichts genützt

    Wenn ich mir jetzt mal in Firefox die Seiteninformationen anschaue,
    sehe ich dort:

    Kodierung: utf-8
    Content-Type text/html; charset=utf-8
    Folgendes steht in meiner Datenbank:
    Zeichensatz / Kollation der MySQL-Verbindung: utf8 unicode ci

    Verstehe also nicht, warum das nicht funktioniert


    Zum besseren Verständnis nochmal die entscheidenen Schnipsel aus meiner Kontakt.php

    PHP-Code:
    <?php 
     
     
    $strEmpfaenger 
    "info@meineemail.de"
     
    $strFrom       "$_POST[Name] <$_POST[Email]>"
     
    $strSubject    "Anfrage-über-Kontaktformular"
     
    $strReturnhtml "Kontaktdanke.html"
     
    $strDelimiter  ":\t"
     
     
    if(
    $_POST

     
    $strMailtext ""
     
     while(list(
    $strName,$value) = each($_POST)) 
     { 
      if(
    is_array($value)) 
      { 
       foreach(
    $value as $value_array
       { 
        
    $strMailtext .= $strName.$strDelimiter.$value_array."\n"
       } 
      } 
      else 
      { 
       
    $strMailtext .= $strName.$strDelimiter.$value."\n"
      } 
     } 
     
    if(
    get_magic_quotes_gpc()) 

      
    $strMailtext stripslashes($strMailtext); 

    mail($strEmpfaenger$strSubject$strMailtext"From: ".$strFrom
      or die(
    "Die Mail konnte nicht versendet werden."); 
    header("Location: Kontaktdanke.html"); 
    exit;  

    ?>

    HTML-Code:
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
     "http://www.w3.org/TR/html4/loose.dtd">
    <head>
    type="image/x-icon" />
    <meta name="robots" content="index, follow" />
    <meta http-equiv="language" content="deutsch, de">
    <meta name="keywords" content="Biathlon,Biathlonsport,Sport,Windersport,Behindertensport,">
    
    <meta name="page-topic" content="Biathlonsport">
    <meta name="revisit-after" content="14 days">
    <meta name="audience" content="alle">
    <meta http-equiv="imagetoolbar" content="false">
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <title>Kontakt</title>
    HTML-Code:
    <form action="<?php print $_SERVER['PHP_SELF']; ?>" method="post" name="Anfrage" id="Kontakt">
                <!-- Hier die eigentlichen Formularfelder eintragen. Die folgenden sind Beispielangaben. -->
    <label><span class="Stil1">Name:</span><br /></label>
                <input name="Name" type="text" id="Name" size="40" />
                <br>
    <label>Vorname<br></label>
    <input name="Vorname" type="text" id="Vorname" size="40" />
                <br />
                <label><span class="Stil1">Telefon<br/></span></label>
                <input name="Telefon" type="text" id="Telefon" size="40" />
                <br />
                <label>Email<br/></label>
                <input name="Email" type="text" id="Email" size="40" />
                <br />
                <br>
                <br />
    
    <p>
      <label>Betreff:
      <select name="Betreff" id="Betreff">
        <option value="Redaktioneller Beitrag">Redaktioneller Beitrag</option>
        <option value="Verletzung Urheberrecht">Verletzung Urheberrecht</option>
        <option value="Link hinzuf&uuml;gen">Link hinzuf&uuml;gen</option>
        <option value="Allgemeine Anfrage" selected>Allgemeine Anfrage</option>
          </select>
      </label>
    </p>
    <p><span class="Stil6">Meine Nachricht</span><br />
      <label>
      <textarea name="Meine Nachricht" cols="60" rows="8" id="Meine Nachricht"></textarea>
      </label>
    </p>
    <label><br />
        </label>
    <p>
                <input type="submit" value="Senden" />
                <input type="reset" value="Zurücksetzen" />
        </p>
      </form>
    Wer kann mir helfen? Bitte nicht all zu Fachchinesisch....bin kein Profi


    PS: Mein Provider hat mir auf die Frage, ob es an der Datenbank liegt folgene Gegenfrage gestellt:
    Welches text-encoding setzen Sie in den Mail-Headern? Nutzen Sie hier 8bit.
    Bevor ich da antworte, will ich hier kurz fragen, was er meint?
    Mail-Header?-->Hab doch nur die eine php.Datei...verstehe ich nicht.
    8bit?..keine Ahnung^^.....hab ich das? Was ist das?

    Da ich bisher in keinem anderem Forum zu einem Ergebnis gekommen bin, hoffe ich hier auf Hilfe.....so pleeaase
    Achtung: Dies ist ein alter Thread im HTML und Webmaster Forum
    Diese Diskussion ist älter als 90 Tage. Die darin enthaltenen Informationen sind möglicherweise nicht mehr aktuell. Erstelle bitte zu deiner Frage ein neues Thema im Forum !!!!!

  2. #2
    der/die Göttliche Avatar von jojo87
    Registriert seit
    23.03.2007
    Ort
    Leipzig
    Alter
    30
    Beiträge
    3.131
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard AW: Umlaute als Fragezeichen

    Du musst die Mail ebenfalls mit der Kodierung utf-8 verschicken.
    Einfacher geht das mit dem PHPMailer
    Dort dann einfach diese Zeile ergänzen:
    PHP-Code:
    $mail = new PHPMailer();
    $mail->charSet "utf-8"
    Prinzipiell solltest du diese Klasse zum Versenden von Mails per php verwenden!

    Grüße,
    jojo

  3. #3
    Teeny
    Themenstarter

    Registriert seit
    26.02.2009
    Beiträge
    21
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard AW: Umlaute als Fragezeichen

    Danke für die schnelle Antwort!

    Gibt es das auch in Deutsch?
    Nicht, weil ich kein Englisch kann....aber wenn man mit Materie arbeitet, die man noch nicht perfekt beherrscht, dann macht es das leider nicht einfacher.
    Aber ich schaue mir das auf jeden Fall heute noch an!

    Gibt es denn für mein bestehendes Formular keine Hoffung mehr?
    Daß ich z.B sowas wie das von dir erwähnte
    PHP-Code:
    $mail->charSet "utf-8"
    in meinen php-Teil einfüge und gut ist? *gg....wäre zumindest das Optimalste für mich

  4. #4
    Meister(in) Avatar von Afrael
    Registriert seit
    26.04.2009
    Ort
    NRW
    Alter
    26
    Beiträge
    313
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard AW: Umlaute als Fragezeichen

    Du musst den entsprechenden Header versenden, schau dir vor allem Beispiel 4 bei http://ch2.php.net/manual/de/function.mail.php an.
    Information will frei verfügbar sein.

    Don't eat unpeeled hedgehogs.

  5. #5
    Teeny
    Themenstarter

    Registriert seit
    26.02.2009
    Beiträge
    21
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard AW: Umlaute als Fragezeichen

    Habe ich mir angeschaut...und finde dort:
    PHP-Code:
    $header .= 'Content-type: text/html; charset=iso-8859-1' "\r\n"
    Ich denke darin sollte die Lösung liegen, richtig?
    Wobei hier utf-8 angegeben werden muss.....richtig?

    Wenn das richtig ist, wo muss das in mein Formular rein?
    Ich hab ein wenig probiert, ging aber nicht.....ach verdammt
    Ist denn UTF-8 überhaupt richtig - notwendig?

  6. #6
    der/die Göttliche Avatar von jojo87
    Registriert seit
    23.03.2007
    Ort
    Leipzig
    Alter
    30
    Beiträge
    3.131
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard AW: Umlaute als Fragezeichen

    Für dich sollte das so aussehen:
    PHP-Code:
    $header  'MIME-Version: 1.0' "\r\n";
    $header .= 'Content-type: text/plain; charset=utf-8' "\r\n";
    $header .= 'From: '.$strFrom "\r\n";
    mail($strEmpfaenger$strSubject$strMailtext$header
      or die(
    "Die Mail konnte nicht versendet werden."); 
    header("Location: Kontaktdanke.html"); 
    exit; 
    Wobei ich dabei bleibe, dass du dich lieber mal 1 Stunde mit dem PHPMailer beschäftigst. Der nimmt dir nicht nur die blöde Arbeit mit den headern ab, spätestens wenn du mit Anhängen arbeitest, machst du dir das Leben extremst leichter

  7. #7
    Teeny
    Themenstarter

    Registriert seit
    26.02.2009
    Beiträge
    21
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard AW: Umlaute als Fragezeichen

    Werde ich auf jeden Fall heute noch mit anfangen...da hast du recht!
    Nur momentan muss ich erstmal schnell dieses Formular hinbekommen.

    Es sieht nun wie folgt aus:


    PHP-Code:
    <?php 
     
     
    $strEmpfaenger 
    "info@meineemail.de"
     
    $strFrom       "$_POST[Name] <$_POST[Email]>"
     
    $strSubject    "Anfrage-über-Kontaktformular"
     
    $strReturnhtml "Kontaktdanke.html"
     
    $strDelimiter  ":\t"
     
     
    if(
    $_POST

     
    $strMailtext ""
     
     while(list(
    $strName,$value) = each($_POST)) 
     { 
      if(
    is_array($value)) 
      { 
       foreach(
    $value as $value_array
       { 
        
    $strMailtext .= $strName.$strDelimiter.$value_array."\n"
       } 
      } 
      else 
      { 
       
    $strMailtext .= $strName.$strDelimiter.$value."\n"
      } 
     } 
     
    if(
    get_magic_quotes_gpc()) 

      
    $strMailtext stripslashes($strMailtext); 

    $header  'MIME-Version: 1.0' "\r\n";
    $header .= 'Content-type: text/plain; charset=utf-8' "\r\n";
    $header .= 'From: '.$strFrom "\r\n";
    mail($strEmpfaenger$strSubject$strMailtext$header
      or die(
    "Die Mail konnte nicht versendet werden."); 
    header("Location: Kontaktdanke.html"); 
    exit;   

    ?>
    Aber glaubst du,das funktioniert?
    Was soll denn das

    Ich werd nochmal ein wenig experimentieren....aber fällt dir was schlaues ein? Danke auf jeden Fall für deine Hilfe!!!

  8. #8
    der/die Göttliche Avatar von jojo87
    Registriert seit
    23.03.2007
    Ort
    Leipzig
    Alter
    30
    Beiträge
    3.131
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard AW: Umlaute als Fragezeichen

    Eine Mail muss mit bestimmten Headern definiert werden. Einfach, damit das ausgebende Programm weiss, mit was es da zu tun hat. Unter anderem betrifft das den Zeichensatz.
    Afraels Link sollte das ausführlich genug erklären.

    Versuchs doch einfach mal und sag, was geschieht

  9. #9
    Teeny
    Themenstarter

    Registriert seit
    26.02.2009
    Beiträge
    21
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard AW: Umlaute als Fragezeichen

    Meiner Meinung nach habe ich genau das getan
    Oder nicht?

    Ich habe den entsprechenden Header mit dem Content-type eingefügt - genau so wie es du mir beschrieben hast.
    Die anderen übrigen Header aus Afraels Link wie z.B

    PHP-Code:
    $header .= 'To: Simone <simone@example.com>, Andreas <andreas@example.com>' "\r\n";
    $header .= 'Cc: geburtstagsarchiv@example.com' "\r\n";
    $header .= 'Bcc: geburtstagscheck@example.com' "\r\n"
    sollten hier meiner Meinung nach keinen Einfluss darauf haben oder gar überflüssig sein oder? Zumindest macht es keinen Unterschied bei mir^^
    Dann habe ich da noch gefunden:
    PHP-Code:
    $subject mb_encode_mimeheader('ääööö test test öäöäöä','UTF-8'); 
    Hätte ja sein können, daß es hilft...leider auch nicht


    *verzweifel


    Könnte das Problem ganz woanders liegen?
    Mir wurde unter anderem gesagt:
    Beim mail() Befehl sind die Headerzeilen selbst zu setzen.
    Den Befehl habe ich damit doch gesetzt und per mail() Befehl geht das ganze doch auch raus ja?

    Dann noch was.....bei Dreamwaver gibt es noch die Möglichkeit, innerhalb des Formulares den Kod.-Typ anzugeben.
    Das habe ich getan....
    Nun sieht der Formularbereich wie folgt aus:

    HTML-Code:
    <form action="<?php print $_SERVER['PHP_SELF']; ?>" method="post" enctype="utf-8" name="Anfrage" id="Kontakt">
                <span class="Stil9">
                <!-- Hier die eigentlichen Formularfelder eintragen. Die folgenden sind Beispielangaben. -->
                <label>Name:<br />
                </label>
                <input name="Name" type="text" id="Name" size="40"/>
                <br>
                <label>Vorname<br>
                </label>
                <input name="Vorname" type="text" id="Vorname" size="40" />
                <br />
                <label>Telefon<br/>
                </label>
                <input name="Telefon" type="text" id="Telefon" size="40" />
                <br />
                <label>Email<br/>
                </label>
                <input name="Email" type="text" id="Email" size="40" />
                <br />
                <br>
            </span>
                <p class="Stil9"><span class="Stil6">Meine Nachricht:</span><br />
      <label>
      <textarea name="Meine Nachricht" cols="40" rows="8" id="Meine Nachricht"></textarea>
      </label>
    </p>
    <p>
                <input type="submit" value="Senden" />
                <input type="reset" value="Zurücksetzen" />
        </p>
      </form>




    Teilweise Problemlösung

    Ich habe das Problem nun zum Teil gelöst, indem ein weiterer Header hinzugefügt wurde!;
    PHP-Code:
    $header .= "Content-Transfer-Encoding: 8bit" 
    Nun erscheint der Inhalt der Email korrekt!!
    Soweit sehr gut - allerdings erscheint in der Betreffzeile und der Absenderzeile im Emailprogramm noch Fragezeichen, wenn ein Umlaut eingegeben wurde.

    Ich muss doch sicher irgendwo jetzt diese 8bit Sache ebenfalls einfügen, damit auch dort die Umlaute korrekt angezeigt werden, oder?
    Kann da jemand was schlaues zu sagen?
    Geändert von vivistar (24.06.2009 um 14:55 Uhr)

  10. #10
    Teeny
    Themenstarter

    Registriert seit
    26.02.2009
    Beiträge
    21
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard AW: Umlaute als Fragezeichen

    Weiß keiner mehr was darauf?

    Und nochwas.....
    Seitdem dort:
    PHP-Code:
    $header .= "Content-Transfer-Encoding: 8bit" 
    eingefügt ist, funktioniert es soweit, bekomme aber ca 30 Minuten nach der eigentlichen Email
    eine 2te Email, die wie folgt aussieht:
    ----------------------------------

    Content-type: text/plain; charset=utf-8

    From: meine@gmx.net

    Content-Transfer-Encoding: 8bit
    Message-Id: <20090625101745.96A5577E54@loki.ffm.hosting-agency.net>
    Date: Thu, 25 Jun 2009 12:17:45 +0200 (CEST)

    Name: ööüüö
    Vorname: Name

    Telefon: 0505050
    Email: meine@gmx.net
    Betreff: Beitrag
    Meine Nachricht: üööää



    Warum das denn nun schon wieder?

    PS: Doppelpst bewusst gemacht, da sonst keiner antwortet

Ähnliche Themen

  1. ö ü ä ß werden als Fragezeichen dargestellt - was tun?
    Von wuppino im Forum HTML & CSS Forum
    Antworten: 1
    Letzter Beitrag: 12.02.2008, 22:25
  2. Umlaute in Fragezeichen
    Von rwo-tony im Forum HTML & CSS Forum
    Antworten: 4
    Letzter Beitrag: 11.04.2007, 12:26
  3. Umlaute in PHP/SQL
    Von Muoah im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 3
    Letzter Beitrag: 01.04.2007, 16:32
  4. Umlaute
    Von Chica im Forum HTML & CSS Forum
    Antworten: 10
    Letzter Beitrag: 18.11.2006, 21:52

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •