Hallo Phil.
Im moment verschicke ich meine E-Mails so:
$von=$_POST['von'];
$betreff=$_POST['betreff'];
$text=$_POST['text'];
Wozu diese Umspeicherung? Verwende doch die Schlüssel von $_POST direkt.
$xtra="From: $von \r\n";
$xtra.= 'MIME-Version: 1.0' . "\r\n";
$xtra.= 'Content-type: text/html; charset=uft-8' . "\r\n";$an="email@mail.de";
mail($an,$betreff,$text,$xtra);
Nur Leider werden die Umlaute nicht umgesetzt. Aus Ö wird Ã�.
Überaus merkwürdig, denn „
“ wäre ein zwar in UTF-8 kodiertes aber nicht dieserart interpretiertes „Ö“. Das Ersatzzeichen (�) dagegen wird in diesem Zusammenhang normalerweise dann dargestellt, wenn eine bestimmte Bytefolge in UTF-8 keinem gültigen Zeichen zugeordnet werden kann. (Z. B. also wenn als ISO-8859-1 gesicherte Texte als UTF-8 interpretiert werden.)
Es scheint also, als würden hier zwei Kodierungen vermischt, wobei keine von beiden die richtige ist.
Was ergibt bei dir folgendes, wenn du „TÖST“ übergibst?
$arr_chars = [link:http://de2.php.net/manual/en/function.str-split.php@title=str_split]($_POST['text']); // Zeichenkette aufsplitten
foreach($arr_chars as $str_char) {
echo [link:http://de2.php.net/manual/en/function.ord.php@title=ord]($str_char), ' '; // Numerische Repräsentation der Zeichen ausgeben
}
In meiner UTF-8-orienterten Umgebung ergibt dies beispielsweise folgendes:
84 195 150 83 84
(T Ö S T)
Hast du bei deinem Formular explizit UTF-8 für das http://de.selfhtml.org/html/referenz/attribute.htm#form@title=accept-charset-Attribut festgelegt?
Einen schönen Samstag noch.
Gruß, Mathias
sh:( fo:} ch:? rl:( br: n4:~ ie:{ mo:| va:) de:> zu:} fl:( ss:) ls:[ js:|
debian/rules