PHP und IMAP und Umlaute
jürgen
- php
Hallo,
Ich greife mit PHP und IMAP auf meine Mailbox zu.
Das ist auch kein Problem.
Wenn ich allerdings meine Inbox auslese und zB die Header ausgeben möchte, bekomme ich nur Sonderzeichen.
zB:
=?ISO-8859-15?Q?J=FCrgen?
wie kann ich hier eine Konvertierung durchführen?
danke für die Hilfe,
Jürgen
Hello,
Ich greife mit PHP und IMAP auf meine Mailbox zu.
Das ist auch kein Problem.Wenn ich allerdings meine Inbox auslese und zB die Header ausgeben möchte, bekomme ich nur Sonderzeichen.
zB:
=?ISO-8859-15?Q?J=FCrgen?
wie kann ich hier eine Konvertierung durchführen?
Was soll denn die Ziel-Codierung sein?
Vielleicht hilft Dir http://de3.php.net/manual/de/function.mb-decode-mimeheader.php
Liebe Grüße aus dem schönen Oberharz
Tom vom Berg
Hello,
Vielleicht hilft Dir http://de3.php.net/manual/de/function.mb-decode-mimeheader.php
oder diese: http://de3.php.net/manual/de/function.imap-mime-header-decode.php
es gibt aber noch eine, die mir im Moment leider nicht einfällt...
Liebe Grüße aus dem schönen Oberharz
Tom vom Berg
danke,
werde ich versuchen!
Schaut aber aus, als würde sie genau das machen, was ich benötige.
danke
Jürgen
Hello,
Schaut aber aus, als würde sie genau das machen, was ich benötige.
Ist nur ein bisschen kompliziert in der Benutztung.
Aber die beiden anderen Funktionen berücksichtigen den Leerzeichen-Ersatz durch Underscore bzw. das Rückgängigmachen nicht.
Es kann im Prinzip jeder Header in einer anderen internen Codierung vorliegen. Das wird hier eben berücksichtigt. Du musst also erstmal feststellen, was die Default-Codierung ist, die anderen werden Dir im Array dann ja explizit angegeben.
Die Default-Codierung sollte diejenige des Kontextes sein, in dem Du anschließend ausgeben willst.
Mal Die am besten ein Bild (Codierungsplan). Sonst gerät da schnell was durcheinander.
Liebe Grüße aus dem schönen Oberharz
Tom vom Berg
Ist nur ein bisschen kompliziert in der Benutztung.
scheint so ;-)
Die Default-Codierung sollte diejenige des Kontextes sein, in dem Du anschließend ausgeben willst.
Mal Die am besten ein Bild (Codierungsplan). Sonst gerät da schnell was durcheinander.
ich möchte auf einer webseite einfach ein paar infos ausgeben.
darunter natürlich auch umlaute: wie "hallo jürgen"
und dann eben die encodierten imap-headers.
im moment kann ich die header decodieren. aber entweder passt das "ü" in jürgen oder die decodierten imap-header werden richtig angezeigt.
scheint so, als ob ich noch irgendwelche code-converts durchführen müsste oder muss ich wo im html-header den zeichensatz angeben? wenn ja, welchen gebe ich da an (und wie?)?
danke
jürgen
Hello,
im moment kann ich die header decodieren. aber entweder passt das "ü" in jürgen oder die decodierten imap-header werden richtig angezeigt.
scheint so, als ob ich noch irgendwelche code-converts durchführen müsste oder muss ich wo im html-header den zeichensatz angeben? wenn ja, welchen gebe ich da an (und wie?)?
Die Codierung der ausgegebenen Webseite muss übereinstimmen mit der Codierung, die Du beim Decodieren für die Header gewählt hast.
Für die Webseite wird das "Default Character Set" i.d.R. vom Webserver bestimmt und auch als HTTP-Header mitgesendet. Damit sollte dann übereinstimmen die <meta>-Angabe für das HTTP-Equivalent im Dokument. Das wird ja nur benötigt, wenn sich jemand die Seite lokal abspeichert und sie dann auch später im Offline-Betrieb wieder richtig angezeigt bekommen will.
Im Online-Betrieb habe die HTTP-Header vom Server i.d.R. Vorrang. Ich kenne zumindest keinen Browser, der das anders handhabt.
Liebe Grüße aus dem schönen Oberharz
Tom vom Berg
Hi!
Im Online-Betrieb habe die HTTP-Header vom Server i.d.R. Vorrang. Ich kenne zumindest keinen Browser, der das anders handhabt.
Der wäre nicht standardkonform.
Lo!