mit imap emails auslesen: codierung
hans
- php
Hallo,
ich lese mit hilfe von imap einige Emails von pop3 Accounts aus.
Den Text erhalte ich mit
$body = imap_body($mailbox,$i);
Allerdings werden da bei einige die "Ä"s in einer komischen Codierung angezeigt.
Was muss ich tun, damit die Emailtexte alle in einer "normalen" Codierung erscheinen?
Gruß
hans
Halihallo hans
Allerdings werden da bei einige die "Ä"s in einer komischen Codierung angezeigt.
Was heisst hier "komisch"? - Sieh im Entity-Header
http://www.php.net/imap_header nach, mit welcher Kodierung
_genau_ gearbeitet wurde.
Was muss ich tun, damit die Emailtexte alle in einer "normalen" Codierung erscheinen?
http://www.php.net/imap kommt mit vielen
Dekodierungsfunktionen daher. imap_base64, imap_qprint,
imap_utf7_decode und imap_utf8_decode...
Du musst die verwendete Codierung aus dem Entity-Header auslesen und
den Entity-Body durch die entsprechende Decodierungsfunktion leiten.
Viele Grüsse
Philipp
Hallo,
also im Header steht: charset=ISO-8859-1
Komisch bedeutet: k=F6nnen für können
Wie wandle ich den Text um:
$text = imap_base64($text);
funktioniert nicht ?
Gruß
hans
Halihallo hans
also im Header steht: charset=ISO-8859-1
Aha, also schon mal ISO-8859-1, das ist jedoch ein Zeichensatz und
keine Kodierung... Die Kodierung steht typischerweise im Headerfield
Content-Transfer-Encoding.
Komisch bedeutet: k=F6nnen für können
Das klingt nach:
Content-Transfer-Encoding: quoted-printable
=> verwende http://www.php.net/imap_qprint
Wie wandle ich den Text um:
$text = imap_base64($text);
funktioniert nicht ?
Wenn wat net funzt, gib abba 'gschwind die Fehlermeldung an, du!
Viele Grüsse
Philipp