Antworten auf deine Fragen:
Neues Thema erstellen

PHP Formular/ Kodierung der gesendeten E-Mail

invidicult

create or die

Hallo PHP-Freunde,

ich habe folgendes Problem:
Ich habe ein Kontaktformular geschrieben und damit ein Kodierungsproblem.
Denn immer, wenn man einen Umlaut, bsp im Namen o.ä., in eins der Input Boxen schreibt, wird er, beim Empfänger des Kontaktformulars, ganz anders dargestellt.

Hier mal ein Beispiel:
ä ä
Straße:ä
Telefonnummer:ä

Und hier mal Script zum Formular:
PHP:
 <?php

      if(isset($_POST['senden'])){

        $anrede = $_POST['anrede'];
        $strasse = $_POST['strasse'];
        $telefon = $_POST['telefon'];
         $name = $_POST['name'];
         $plz = $_POST['plz'];
         $fax = $_POST['fax'];
        $mail = $_POST['mail'];
        $empfaenger = $_POST['empfaenger'];
         $nachricht = $_POST['text'];
         $emfang = $_POST['empfaenger'];
 
         if( $strasse <> '' and $telefon <> '' and $name <> '' and $plz <> '' and $mail <> '' and $nachricht <> ''){
  
          $inhalt = '<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><title></title></head><body>'.$anrede.'&nbsp;'.$name.'<br /> Stra&szlig;e:'.$strasse.'<br /> Telefonnummer:'.$telefon.' <br/ >
         Fax: '.$fax.' <br /> E-Mail Adresse: '.$mail.' <br /> Anschrift: '.$plz.'<br /><br />
          hat folgende Nachricht an Sie gesendet: <br /><br />'.$nachricht.'</body></html>';
          $extra =  "From: $name <$mail>\n";
         $extra .= "Content-Type: text/html Content-Transfer-Encoding: 8bit\n";
          $extra .= "Subject:Kontaktformular savetec.de ";
         $charset ="Content-Type: text/html; charset=utf-8\n";
          

          mail($emfang, $betreff, $inhalt, $extra, $charset);
  
          echo('<div id="nachricht"><a name="geschaft">Ihre Nachricht wurde gesendet.</a></div><br /><br />');
          echo('<meta http-equiv="refresh" content="1; URl=#geschaft">');
         }else {
          echo('<div id="nachricht"><a name="fehler">F&uuml;llen Sie bitte alle Felder aus.</a></div><br /><br />');
          echo('<meta http-equiv="refresh" content="1; URl=#fehler">');
  
  
          }
      }
 
    ?>

Hat jemand eine Idee, an was es liegt?
Die PHP Datei ist in UTF 8 ohne BOM konvertiert.
 

webarchitekt

Noch nicht viel geschrieben

AW: PHP Formular/ Kodierung der gesendeten E-Mail

Bei mir funktioniert es so:
PHP:
$header = 'FROM: \'Wem auch immer\' <info@meine_domain.de>\n';
$header .= 'MIME-Version: 1.0\n';
$header .= 'Content-Type: text/html; charset=\'iso-8859-1\' ';
$header .= 'Content-Transfer-Encoding: 8bit\n';
mail($recipient, $subject, $mail_body, $header);
Dann klappt das auch mit den Umlauten.

Möglicherweise mußt Du im Head der kontakt.php zusätzlich das Charset auf ISO8859-1 setzen.
 

saila

Moderatorle

AW: PHP Formular/ Kodierung der gesendeten E-Mail

Eigentl. nicht. Er muss nur einmal zu viel UTF-8 herausnehmen, da er UTF-8 noch einmal mit UTF-8 codiert und genau das gibt immer dieses eine undefinierte Zeichen für einen Umlaut.
 
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Neueste Themen & Antworten

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Keine Mitglieder online.

Statistik des Forums

Themen
118.620
Beiträge
1.538.373
Mitglieder
67.544
Neuestes Mitglied
janusbarman
Oben