Hallo Fabian, On Tue, 10 Jul 2001 at 16:10 (+0200), Fabian Huesser wrote:
Am Dienstag, 10. Juli 2001 14.23 schrieb Marc Mc Guinness:
Auf der Suche nach einem Artikel geocrawler stiess ich auf einige Artikel von mir und musste mit Schrecken festellen, dass ich da auch Mail-Müll produziere. Und zwar meist im Betreff stimmen die Umlaute nicht. Natürlich habe ich einen falschen Zeichensatz eingestellt. Aber im Moment wüsste ich nicht welchen nehmen ? Verwende Kmail.
Nein, die Subjects sind schon korrekt. Ich habe mal ein Beispiel aus einer Mail von Dir: Suse 7.2 =?iso-8859-1?q?l=E4sst=20kein=20reboot=20oder=20halt?= zu Umlaute *müssen* in sämlichen Headerzeilen kodiert werden. Eine mögliche und gebräuchliche Kodierung ist MIME Quoted Printable. Eine vollständige Beschreibung findest Du in RFC 2047 (/usr/share/doc/rfc/rfc2047.txt.gz), und zwar auf Englisch. Der String beginnt dabei mit =?Zeichensatz-Encoding?q? und endet mit ?= Der Zeichensatz ist hier ISO-8859, das Encoding 1, also ISO-8859-1. Für Deutschland völlig korrekt - möglich wären noch ISO-8859-2 (ja, auch da sind die deutschen Umlaute drin; an der selben Stelle wie ISO-8859-1; eigentlich für Osteuropa bestimmt) und ISO-8859-15 (der ISO-8859-1 ablösen wird, weil mit Eurozeichen und ein paar Sonderzeichen für Französisch und Finnisch). Dazwischen kommt dann noch der Test l=E4sst=20kein=20reboot=20oder=20halt Dabei wird jedes Zeichen, das nicht 7-bit-ASCII ist und nicht zu folgenden Sonderzeichen gehört, kodiert. especials = "(" / ")" / "<" / ">" / "@" / "," / ";" / ":" / " <"> / "/" / "[" / "]" / "?" / "." / "=" Dazu kommt noch das Leerzeichen. Die Kodierung geschieht durch =XX, wobei XX der hexadezimale Wert des Zeichens im betreffenden Zeichensatz ist. Diesen kann man leicht in "man latin1" oder "man ascii" nachschlagen, eigentlich unabhängig von der Sprache. Der einzige Umlaute hier ist das =E4, und das ist nach o. g. Manpage ein kleines "ä" - wer hätte es gedacht. Zwischen =?Zeichensatz-Encoding?q? und ?= darf kein Leerzeichen auftauchen, und so werden Leerzeichen entweder mit =20 oder auch mit _ kodiert. 20 ist der hex. Wert eines Leerzeichens, siehe man ascii. Dekodiert heißt diese Zeile jetzt richtigerweise Suse 7.2 lässt kein reboot oder halt zu So, und wenn die Archivsoftware dies nicht richtig implementiert hat, dann kommt halt Mist raus. Eigentlich müsste sie QP auflösen und in entsprechende HTML-Kodierung umwandeln. Mit Perl geht dies dank entsprechender Module recht einfach, ich habe vor ein paar Tagen den umgekehrten Weg für ein kleines 'Webmailinterface' programmiert - nur aus Spaß an der Freude ;-) So, eigentlich war das nicht die logische Antwort auf Deine Frage, aber schaden kann es auch nie.
Wenn wir schon am verbessern sind, kann mir sicherlich jemand gleich den richtigen nennen, ohne mich auf eine man-pages zu verweisen ;-))
Was hätte ich nennen sollen? Gruß, Bernhard -- "Der Mensch erfand die Atombombe, doch keine Maus der Welt würde eine Mausefalle konstruieren." [Albert Einstein]