hotti: eMail senden mit mail(), Codierungsprobleme

Beitrag lesen

hi Du;

Die erwartet aber für den zu codierenden String scheinbar iso-8859-1. Oh Wunder!

Nein. mb_encode_mimeheader() erwartet, dass mb_internal_encoding() gesetzt wurde.

Also machen wir das mal und gucken Ergebnis:

  
mb_internal_encoding("UTF-8");  
echo mb_encode_mimeheader(utf8_decode('€')), "\n";  
echo mb_encode_mimeheader('€');  

Siehst Du was? '4oKs' ist die korrekte Base64-Kodierung für das EUR-Zeichen. Wenn Du vorher ein utf8_decode('€') schaltest, ist das Ergebnis nur ein Byte, darstellbar als Fragezeichen oder als Base64 'Pw=='.

Die Funktionen machen schon das Richtige, Du musst die nur richtig anwenden.

Horst