• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Wieder einmal Umlaute

Andreas200

Neues Mitglied
Hallo Zusammen,

habe ein Kontaktformular (html) und eine Antwort (php) was auch wunderbar funktioniert. Nur werden in der Mail die ich erhalte die Umlaute als '?' dargestellt.
Wär nett wenn jemand den Code mal anschauen kann wo der Fehler liegt.

Besten Dank im Voraus
Andreas

Kontakt:
HTML:
<?xml version="1.0" encoding="utf-8"?>
<!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" xml:lang="de" lang="de">
<head>
<link rel="shortcut icon" type="image/x-icon" href="img/favico.ico" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="robots" content="follow, index" />
<meta name="revisit-after" content="10 days" />
<meta name="Content-Language" content="de" />
<meta http-equiv="pragma" content="no-cache" />
<title>Steuerberatung Kerstin Noack | Kontakt</title>
<link href="noack.css" rel="stylesheet" type="text/css" />
<script languange="Javascript">
        
      
</head>

<body>
    <div id="wrapper">
        
        <div id="kopf">
            <div id="navi_kopf">
                    <ul>
                        <li><a href="anfahrt.html">Anfahrt</a></li>
                        <li><a href="link.html">Links</a></li>
                    </ul>
                </div>
                <div id="logo">
                    <img src="img/logo.png" alt="Logo" width="100" height="120">
                </div>
                <div id="kopf_text">
                    <img src="img/kopf_text1.png" alt="Text" width="250" height="80">
                </div>
                <div id="kopf_img">
                    <img src="img/wt2.JPG" alt="Text" width="320" height="147">
                </div>
            </div>
            
            <div id="navigation">
                <ul>
                        <li><a href="index.html">Startseite</a></li>
                        <li><a href="leistungsangebot.html">Leistungsangebot</a></li>
                        <li><a href="aktuell.html">Aktuelles</a></li>
                        <li><strong title="Hier befinden Sie sich gerade.">Kontakt</strong></li>
                        <li><a href="impressum.html">Impressum</a></li>
                    </ul>
            </div>
            
            <div id="content">
                <div id="content_eins">
                    <h2>Kontakt</h2>
                    <form name="eingabe" method="POST" action="antwort.php" >
                        <table>
                            <tr>
                                <th><label for="nachname">Name:</label></th>
                                <td><input name="nachname" id="nachname" type="text" size="39" maxlenght="50" /></td>
                            </tr>
                            <tr>
                                <th><label for="firma">Firma:</label></th>
                                <td><input name="firma" id="firma" type="text" size="39" maxlenght="50" /></td>
                            </tr>
                            <tr>
                                <th><label for="strasse">Stra&szlig;e:</label></th>
                                <td><input name="strasse" id="strasse" type="text" size="39" maxlenght="50" /></td>
                            </tr>
                            <tr>
                                <th><label for="plzort">PLZ / Ort:</label></th>
                                <td><input name="plzort" id="plzort" type="text" size="39" maxlenght="50" /></td>
                            </tr>
                            <tr>
                                <th><label for="rueckruf">R&uuml;ckruf:</label></th>
                                <td><input name="rueckruf" id="rueckruf" type="checkbox" />
                            </tr>
                            <tr>
                                <th><label for="telefon">Telefon:</label></th>
                                <td><input name="telefon" id="telefon" type="text" size="39" maxlenght="50" /></td>
                            </tr>
                            <tr>
                                <th><label for="email">E-Mail:</label></th>
                                <td><input name="email" id="email" type="text" size="39" maxlenght="50" /></td>
                            </tr>
                            <tr>
                                <th><label for="nachricht">Ihre Nachricht:</label></th>
                                <td><textarea name="nachricht" id="nachricht" cols="30" rows="4"></textarea></td>
                            </tr>
                            <tr>
                                <th><label for="leer">&nbsp;</label></th>
                                <td><input type="submit" value="Absenden" onClick="return eingaben_ueberpruefen(this.form)"></td>
                            </tr>
                        </table>
                    </form>
                </div>
                <div id="content_eins_kont">
                    <h2>&nbsp;</h2>
                    <p>Wenn Sie Fragen zu unseren Leistungen und Angeboten haben, k&ouml;nnen Sie das folgende Formular nutzen!    Wir werden uns umgehend bei Ihnen melden.<br />
                    Bitte beachten Sie unsere <a href="impressum.htm"><strong>Datenschutzbestimmungen</strong></a>. </p>
                  <p>Alle farblich gekennzeichneten Felder <strong>m&uuml;ssen</strong> ausgef&uuml;llt werden.</p>
                
                  <p>&nbsp;</p>
                  <p><strong>Kerstin Noack<br />
                    Steuerberater<br />
                    StT Siebenlehn <br />
                    </strong>Markt 29<br />
                    09603 Gro&szlig;schirma<br />
                
                  <strong>Tel.:</strong> 0 352 42 / 62 605</p>
                </div>
          </div>
          
         
        </div>
    </body>
</html>
Antwort:
PHP:
<!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" xml:lang="de" lang="de">
<head>
    <link rel="shortcut icon" type="image/x-icon" href="img/favico.ico" />
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  <title>Kontaktformular (Antwort)</title>
  <meta http-equiv="pragma"    content="no-cache" />
  <link rel="shortcut icon" type="image/x-icon" href="img/favico.ico" />
  <link rel="stylesheet" href="antwort.css" type="text/css" media="screen" />
  <script src="spschutz.js" type="text/javascript"></script>
</head>

<body>
    <div id="wrapper">
        <div id="kopf">
            <div id="navi_kopf">
                <ul>
                    <li><a href="link.html">Links</a></li>
                    <li><a href="anfahrt.html">Anfahrt</a></li>
                </ul>
            </div>
            <div id="logo">
                <img src="img/logo.png" alt="Logo" width="100" height="120">
            </div>
            <div id="kopf_text">
                <img src="img/kopf_text1.png" alt="Text" width="250" height="80">
            </div>
            <div id="kopf_img">
                <img src="img/wt2.JPG" alt="Text" width="320" height="147">
            </div>
        </div>
        <div id="navigation">
            <ul>
                    <li><a href="index.html">Startseite</a></li>
                    <li><a href="leistungsangebot.html">Leistungsangebot</a></li>
                    <li><a href="aktuell.html">Aktuelles</a></li>
                    <li><a href="kontakt.html">Kontakt</a></li>
                    <li><a href="impressum.html">Impressum</a></li>
                </ul>
        </div> 

<div id="content">
<div id="content_antwort">
<table align="center" cellPadding=4 cellSpacing=4>
 <tr>
  <td>

<?php
  # © Homepage-Total.de
  $nachname = @$_POST["nachname"]; $email = @$_POST["email"]; $nachricht = @$_POST["nachricht"]; $firma = @$_POST["firma"]; $strasse = @$_POST["strasse"]; $plzort = @$_POST["plzort"]; $telefon = @$_POST["telefon"];
    
    if (isset($_POST["rueckruf"])==true)
         $rueckruf = "ja";
    else
         $rueckruf = "nein";
    
  # Name des Webmasters (Signatur): (Rainer Zufall)
  $webmaster ="Steuerkanzlei Noack";
  
  # Ihre E-Mail-Adresse: ([email protected])
  $an ="[email protected]";
  
  # Ihre Homepage-Adresse: (http://www.meineseite.de)
  $url ="http://www.steuerkanzlei-noack.de/";
  
  # Betreff
  $betreff ="Sie haben eine neue Nachricht ueber $url erhalten";
  
  # Inhalt der Danke E-Mail:
  $inhalt ="Werte(r) Herr/Frau $nachname,\nvielen Dank fuer Ihren Besuch bei $url. \n Wir haben folgende Nachricht erhalten:\n\n===== Beginn Nachricht =====\n$nachricht\n===== Ende Nachricht =====\n\nMit freundlichen Gr&uuml;ßen\n  $webmaster\n\n==================\n";
  
  # URL zur Startseite: (index/home.htm)
  $start ="http://www.ankroh.de/stb_neu/index.html";
  
  # Nachricht wird an Ihre E-Mailadresse gesendet.
  $text ="Name: $nachname\nFirma: $firma\nStrasse: $strasse\nPLZ/Ort: $plzort\nRueckruf: $rueckruf\nTelefon: $telefon\n\n====\n $nachricht\n====\n\nSie koennen Herr/Frau $nachname unter $email erreichen.";

  # E-Mails senden.
      @mail($an,$betreff,$text,"From: ".$email);
      @mail($email,"Bestaetigung",$inhalt,"From: ".$an);

  # Ausgabe der Bestätigung.
      echo("<p><b>Ihre Nachricht wurde erfolgreich an $an gesendet!</b></p>");
      echo("<p><b>Sie erhalten noch eine Best&auml;tigungsmail!</b></p>");
      echo("<p> &raquo;&nbsp; <a href='http://www.ankroh.de/stb_neu/index.html' title='Zurück'>Zur&uuml;ck zur Startseite</a></p>");

?>

  </td>
 </tr>
</table>
</div>
</div>
</div>
</body>
</html>
 
Ich würd viel lieber was zu den zahlreichen Fehlern im HTML-Code sagen :-)

Bei Charsets kann es eigentlich nur an einer Differenz liegen, in welchem Charset das Script gespeichert ist, in welchem Charset die Mail ausgeliefert wird und ob das Mailprogramm vielleicht irgendwas anders macht. Im Zusammenhang mit Mail hab ich mich aber offen gestanden damit noch nicht befasst.
In Deiner Antwort hast Du utf-8 eingestellt. Speichert Du die Datei auch in utf-8?
 
AW:

Hallo Efchen,

Auch wenn mir im moment Deine Antwort erst einmal nicht weiter hilft, danke ich Dir trotzdem ->mein html-Code ist jetzt sauber.

Andreas
 
mein html-Code ist jetzt sauber.
Das heißt, Du hast den xml-Prolog entfernt, das leere <script>-Tag ohne schließendes Tag entfernt, bei <script> statt "language" immer "type" benutzt, um einzelne Images die überflüssigen divs entfernt, um die Navigation das überflüssige div entfernt, das Tabellenlayout im Formular entfernt, die Überschrift ohne Inhalt entfernt (&nbsp;), das semantisch falsche <strong> aus der Adresse (und den anderen Stellen) entfernt, die Adresse auch als Adresse und nicht mehr als Textabsatz ausgezeichnet und Inhalt und Layout strikt voneinander getrennt, indem Du auf veraltete Attribute für physische Inhaltsauseichnung verzichtest?

In der kurzen Zeit eine reife Leistung! :-)

Wenn man nach dem Problem googlet, bekommt man viele Treffer. Mance empfehlen, mal die Codierung im Mailprogramm zu verändern. Ich weiß nicht, kann man in SMTP auch das charset irgendwo angeben?

Guck doch mal hier: http://en.wikipedia.org/wiki/MIME
Da steht, da das Mail-Format ja reines ASCII ist, müssen Umlaute MIME-codiert sein (bzw. die ganze Mail).
Das könnte Dir weiter helfen.
 
Zuletzt bearbeitet von einem Moderator:
Du weißt, dass der Validator nur syntaktische Fehler findet, aber keine semantischen?
Dafür kann es keinen Validator geben, weil das ein Programm nicht prüfen kann.
 
Zurück
Oben