dedlfix: PHP IMAP Umlaute Problem

Beitrag lesen

Tach!

Und wie decodiere ich dann - Deiner Meinung nach?

Erst muss das Quoted Printable weg. Dann hast du einen String in ISO-8859-1-Kodierung. Den kannst du dann umkodieren nach UTF-8.

Die Email ist zweifach kodiert (abgesehen vom HTML-Code). Zuerst wird der Text in eine physikalische Kodierung gebracht. Das heißt, die Zeichen werden entsprechend der Kodierungsvorschrift als ein oder mehrere Bytes geschrieben. Nun gibt es das historisch begründete Problem, dass Bytes oberhalb von 0x7E und unterhalb von 0x32 nicht verwendet werden. Diese werden nun mit Quoted Printable in eine 7-Bit-kompatible Form gebracht. Wenn du nun den originalen Text wieder haben möchtest, musst du die ganze Chose rückwärts aufdrieseln. Quoted Pritable interessiert sich nicht für Zeichen oder Bytekombinationen, die irgendwelche Zeichen darstellen, es behandelt jedes Byte einzeln und rückwärts entsteht dieselbe Bytefolge wie vorwärts eingekippt wurde. Davor und danach hast du also dieselbe Zeichen-Kodierung. Es findet keine automatische Umkodierung nach UTF-8 oder sonstwohin statt.

dedlfix.