phpbar.de logo

Mailinglisten-Archive

[php] mb_decode_mimeheader geht nicht?

[php] mb_decode_mimeheader geht nicht?

Thomas Winter thowinter at googlemail.com
Die Aug 22 08:56:53 CEST 2006


Am Tuesday 22 August 2006 06:16 schrieb Lutz Zetzsche:
> Hallo Thomas,
>
> Am Montag, 21. August 2006 17:13 schrieb Thomas Winter:
> > ich decodieren mit mb_decode_mimeheader einen String mit Umlauten.
> >
> > mb_decode_mimeheader(strtoupper($val->subject))
>
> Punkt 1: Wenn, dann solltest Du hier mb_strtoupper() verwenden! :-)

Stand in der Dokumentation!

Funktionieren tut auch imap_utf8($val->subject).
Das klappt für das Subjekt. Der Zeichensatz steht ja im String mit drin.



> 	header('Content-Type: text/html; charset=ISO-8859-15');

Da habe ich bereits utf-8 definiert. Eine Umstellung auf ISO-8859 zerhaut die 
Umlaute im sonstigen Text.

> 	mb_internal_encoding('ISO-8859-15');
> 	echo(mb_decode_mimeheader('=?iso-8859-15?b?5Pb8xNbc?='));

Das kann ich für den Base64 codierten Header gebrauchen. Da ist der Charset 
extra aufgeführt.

Bei utf-8 brauche ich nur base64 encoden.

Ist der Anhang iso-8859-15 dann so:

mb_internal_encoding('utf-8');
print "<br>mb_decode_mimeheader: " . mb_decode_mimeheader(imap_base64
($msg_body));

Erstaunlich!


Gruß
Thomas




php::bar PHP Wiki   -   Listenarchive