Brombeermilchtrinker: Ursprungsproblem gelöst / nun anderes Codierungsproblem

Beitrag lesen

Hi Vinzenz,

trotzdem, ich versteh die Welt nicht mehr. Ich habe mich nicht nur mit dem Handbuch und vielen Tutorials aus dem Netz beschäftigt, sondern auch _unzählige_ Posts aus dem Archiv zu diesem Thema gelesen.

Aus letzteren geht ganz klar hervor, daß man prinzipiell utf-8 verwenden sollte, weil da einfach die Vorteile überwiegen. Gut, ich habe somit in jeder html-Seite ein <meta http-equiv="content-type" content="text/html; charset=utf-8" />, jede php-Ressource bekommt bei mir ein header("Content-type:text/html;charset=utf-8");, jede css-Datei fängt bei mir mit einem @charset "utf-8"; an, bei einem Senden von Daten an eine DB ist immer ein $db->set_charset("utf8"); _und_ ich habe auch noch eine .htaccess-datei mit einem AddType text/html;charset=UTF-8 .htm und einem AddType text/css;charset=UTF-8 .css für alle Ordner. Das ist, soweit ich das sehe, alles, was ich tun kann (und soll). Richtig? Oder habe ich auf etwas vergessen bzw. dabei etwas nicht gut gemacht?

OK, dann habe ich durch das Forum gelernt, ich soll, wenn ich eine Mail mit PHP versenden will, dies _so_ tun:

<?php  
 header("Content-type:text/html;charset=utf-8");  
 error_reporting(E_ALL | E_STRICT);  
?>  
  
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">  
  
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de" lang="de">  
  
 <head>  
  <meta http-equiv="content-type" content="text/html; charset=utf-8" />  
  <title>Mailtest</title>  
 </head>  
  
 <body>  
  <?php  
   $empfaenger="musterfrau@example.net";  
   $betreff="Bitte bestätigen Sie Ihren Gästebucheintrag";  
   $text="Hänsel und Gretel wünschen sich Hörnchen über alles.";  
   $header="";  
   $header.="MIME-Version: 1.0\n";  
   $header.="Content-type: text/plain; charset=utf-8\n";  
   $header.="Content-Transfer-Encoding: 8bit\n";  
   $header.="From: Max Mustermann <mustermann@example.com>\n";  
   mail($empfaenger,utf8_decode($betreff),$text,$header, "-fmustermann@example.com");  
  ?>  
 </body>  
  
</html>

Das Ganze speichere ich ab als mailtest.php, utf-8 codiert, ohne BOM. Nun meine Fragen:

1.) Zunächst mal: _Ist_ das jetzt richtig so oder nicht?

2.) Wenn ich das alles so mache, wie oben beschrieben, ist auf jeden Fall mal der Inhalt der Mail utf-8-codiert, oder?

3.) Woran kann es dann liegen, dass ein Webmailprovider bei der Anzeige des Inhalts Umlaute trotzdem nicht richtig darstellt? Ich dachte immer, man verwendet utf-8 gerade deshalb, _damit_ es nicht zu solchen Problemen kommt?

4.) Wenn ich das alles so mache, wie oben beschrieben, dann ist doch der Betreff durch das utf8_decode($betreff) _nicht_ utf-8 codiert - zumindest hatte ich das angenommen. Ich nehme an, das ist mal falsch, oder?

5.) Um bei obigem Beispiel zu bleiben, wie _genau_ müßte dann die Zeile, die das Versenden bewirkt _anders_ aussehen als mail($empfaenger,utf8_decode($betreff),$text,$header, "-fmustermann@example.com"); ?

6.) Da ich kein PHP-Profi bin und, wie schon gesagt, immer schon Verständnisschwierigkeiten mit Allem, was mit Codierung, Mimetype, etc. zu tun hat, hatte, verstehe ich die angebotene Funktion mb_encode_mimeheader nicht ganz. Die dient dazu, dass der Header _nur_ durch US-ASCII-Zeichen übermittelt wird und würde mir ein $betreff="Bitte bestätigen Sie Ihren Gästebucheintrag"; automatisch umformen? Wie genau muß ich das einbauen? (Siehe Frage 5)

7.) Wenn ich also eine Text-Mail mit dem Betreff "Bitte bestätigen Sie Ihren Gästebucheintrag" und dem Inhalt "Hänsel und Gretel wünschen sich Hörnchen über alles." versenden möchte und will, daß die Umlaute sowohl im Header als auch im Inhalt richtig dargestellt werden, dann soll ich _doch nicht_ mit utf-8 arbeiten? Was ist denn nun die Standardlösung?

Ich hatte mit dieser Thematik immer schon leichte Probleme, hatte das Gefühl, das Wesentliche verstanden zu haben - aber seit meinen Tests gestern und dem bisherigen Verlauf dieses Threads bin ich noch verunsicherter und dümmer als vorher. Dabei würd ich das wirklich gerne richtig und ordentlich lernen - und auch richtig und ordentlichen Code schreiben, der ein gewünschtes Ergebnis bringt.

*verzweifelt schaue* =..(

MfG

Der Brombeermilchtrinker

0 57

Sonderzeichen bei Mail mit Inhalt aus Formular

Brombeermilchtrinker
  • php
  1. 0

    Ursprungsproblem gelöst / nun anderes Codierungsproblem

    Brombeermilchtrinker
    1. 0
      Markus**
      1. 0
        Brombeermilchtrinker
    2. 0
      Sven Rautenberg
      1. 0
        Brombeermilchtrinker
        1. 1
          Sven Rautenberg
          1. 0
            Brombeermilchtrinker
        2. 0
          Jens Holzkämper
    3. 0
      dedlfix
      1. 0
        Brombeermilchtrinker
        1. 0
          dedlfix
          1. 0
            Brombeermilchtrinker
            1. 0
              dedlfix
              1. 0
                Sven Rautenberg
              2. 0
                Brombeermilchtrinker
                1. 0
                  dedlfix
                  1. 0
                    Brombeermilchtrinker
                    1. 0
                      Jens Holzkämper
                    2. 0
                      Vinzenz Mai
                      1. 0
                        Brombeermilchtrinker
                        1. 0
                          Vinzenz Mai
                          1. 0
                            Brombeermilchtrinker
                            1. 0
                              Brombeermilchtrinker
                              1. 0
                                Harlequin
                                1. 0
                                  Sven Rautenberg
                                2. 0
                                  Brombeermilchtrinker
                                  1. 0
                                    Jens Holzkämper
                                    1. 0
                                      Brombeermilchtrinker
                                      1. 0
                                        Jens Holzkämper
  2. 0
    Markus**
  3. 0

    Mail Codierung - Problem noch immer nicht gelöst

    Brombeermilchtrinker
    1. 0
      dedlfix
      1. 0
        Brombeermilchtrinker
        1. 0
          dedlfix
          1. 0
            Brombeermilchtrinker
            1. 0
              dedlfix
              1. 0
                at
              2. 0
                Brombeermilchtrinker
                1. 0
                  Harlequin
                  1. 0
                    Brombeermilchtrinker
                2. 0
                  dedlfix
                  1. 0
                    Brombeermilchtrinker
                    1. 0
                      dedlfix
                      1. 0

                        utf-Codierung / Verwendung von mysqli

                        Brombeermilchtrinker
                        1. 0
                          flowh
                        2. 0
                          dedlfix
                          1. 0
                            Brombeermilchtrinker
                            1. 0
                              Harlequin
                              1. 0
                                Brombeermilchtrinker
                              2. 0
                                dedlfix
                                1. 0
                                  Harlequin
                                  1. 0
                                    Brombeermilchtrinker
                            2. 0
                              flowh
                              1. 0
                                Brombeermilchtrinker
                            3. 0
                              dedlfix
                              1. 0
                                Brombeermilchtrinker