hans: mit imap emails auslesen: codierung

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

  1. 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

    1. 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

      1. 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