Bantam: utf-8 Problem

Hallo,

Ich habe ein Problem mit einer aus utf-8 kodierten PHP Seite.
Die Bestellung schicke ich mir testweise an meine Web.de Adresse.

Anstatt meines Names der "ä"s & "ö"s beinhaltet wird aber die utf-8 kodierten Zeichen dargestellt.

$headerSales .= "Content-Type: text/html; charset=utf-8\n";
$headerSales .= "From: $absender\n";

Habe schon charset in iso-8859-1 umgewandelt. Das löst das Problem aber auch nicht und die komischen Zeichen bleiben. Das kann man natürlich keinem Kunden zumuten.
Wie kann man das Problem bloß lösen ?

  1. Anstatt meines Names der "ä"s & "ö"s beinhaltet wird aber die utf-8 kodierten Zeichen dargestellt.

    $headerSales .= "Content-Type: text/html; charset=utf-8\n";

    Daten per htmlentities() ausgegeben und vergessen, als dritten Parameter utf-8 anzugeben? PHP-Strings kennen keine Zeichenkodierungen, htmlentities() kodiert deshalb standardmäßig alles in iso-8859-1, andere Kodierungen erfordern etwas Handarbeit.

    1. Anstatt meines Names der "ä"s & "ö"s beinhaltet wird aber die utf-8 kodierten Zeichen dargestellt.

      $headerSales .= "Content-Type: text/html; charset=utf-8\n";

      Daten per htmlentities() ausgegeben und vergessen, als dritten Parameter utf-8 anzugeben? PHP-Strings kennen keine Zeichenkodierungen, htmlentities() kodiert deshalb standardmäßig alles in iso-8859-1, andere Kodierungen erfordern etwas Handarbeit.

      So sieht es nun aus:

      mail($_SESSION['email'], htmlentities($subjectCustomer), htmlentities($bodyCustomer), htmlentities($headerCustomer));

      Und in der Email kommt der totale Schrott an:

      Bestätigung Ihrer Bestellung

      <b>Sehr geehrter Kunde</b>,<br /><br />vielen Dank für Ihre Bestellung.<br /> Sie haben folgende Angaben gemacht:

      Hilfe!!

      1. Problem mit utf8_decode() gelöst.

        Gruß Bantam