Probleme mit einem QString ?

Alles rund um die Programmierung mit Qt
Antworten
Treehouse
Beiträge: 100
Registriert: 18. Juni 2007 10:21

Probleme mit einem QString ?

Beitrag von Treehouse »

Hallo zusammen,

ich arbeite gerade an einem kleinen Email tool und dabei bin ich auf folgendes Problem gestossen. Wenn ich eine Serverabfrage starte und diese mir Header Informationen von einer Mail holen soll, werden die Daten in einem QString Object verwaltet. Nun habe ich z.b das Problem das manche Betreffzeilen nicht richtig dargestellt werden. Hier mal ein Beispiel:
Subject: [arch-general] =?iso-8859-15?q?=5Baur-general=5D_the_future_of_em?=
=?iso-8859-15?q?pathy=2C_libtelepathy=2E=2E?=
( Bemerkung: Das ist ein Betreff aus einer öffentlichen Maillingliste ich hoffe das ich jetzt gegen kein Gesetzt verstoße. Sollte das der Fall sein bitte ich um einen kleinen Hinweis!. Ich werde dann den Betreff unverzüglich wieder rausnehmen.)

Nun scheint es ja so zu sein das das QString object nicht den erforderten Codec besitzt, zumindest meine ich das so verstanden zu haben aus dem Brei. :roll: Ist es nun irgendwie möglich festzustellen welches Codec benötigt wird und dann jeweils das Objekt dynamisch anpassen?

Ich wäre für einen kleine Tip sehr dankbar.

Gruß
Treehouse
upsala
Beiträge: 3946
Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:

Beitrag von upsala »

Das hat nichts mit QString zu tun. Sondern etwas mit Zeichenkodierungen in E-Mails.
Treehouse
Beiträge: 100
Registriert: 18. Juni 2007 10:21

Beitrag von Treehouse »

upsala hat geschrieben:Das hat nichts mit QString zu tun. Sondern etwas mit Zeichenkodierungen in E-Mails.
also kann ich darauf keinen Einfluss nehmen?
dontinelli
Beiträge: 146
Registriert: 22. September 2006 20:53

Beitrag von dontinelli »

Doch. du musst einfach die Kodierung der Konvention entsprechend entschlüssen (und bei deinen zu versendenden Mails nach Möglichkeit verschlüsseln, damit der Empfänger nicht Probleme mit den Umlauten etc. bekommt). Google kann dir dabei sicher weiter helfen, hat aber nichts mit Qt zu tun.
Treehouse
Beiträge: 100
Registriert: 18. Juni 2007 10:21

Beitrag von Treehouse »

dontinelli hat geschrieben:Doch. du musst einfach die Kodierung der Konvention entsprechend entschlüssen (und bei deinen zu versendenden Mails nach Möglichkeit verschlüsseln, damit der Empfänger nicht Probleme mit den Umlauten etc. bekommt). Google kann dir dabei sicher weiter helfen, hat aber nichts mit Qt zu tun.
Ohne jetzt das du meinst ich bin zu faul zum suchen. Aber mal im ernst wie macht man sowas denn und wonach muss ich denn bei Google suchen damit ich raus bekomme wie man das macht? Hoffentlich klingt die Frage jetzt nicht schrecklich dumm, aber ich muss ehrlich gestehen das ich jetzt nicht wirklich verstehe, wie ich diese Konventionen einhalte. Mit anderen Worten wie ich das QString zu verstehen gebe, das die Zeichen richtig dargestellt werden.
franzf
Beiträge: 3114
Registriert: 31. Mai 2006 11:15

Beitrag von franzf »

In der Annahme, dass die im Mail-Header angegebene Codierung korrekt ist, musst du diese extrahieren (per QRegExp), und dann mittels QTextCodec (schau dir einfach das erste Beispiel in der Doku an) in Unicode umwandeln.
dontinelli
Beiträge: 146
Registriert: 22. September 2006 20:53

Beitrag von dontinelli »

Plus davor ev. mit Base64 oder Quoted-printable encoden. Suche mal nach MIME Mail oder ähnlichem. Dein Beispiel ist z.B. in quoted-printable kodiert, das siehst du am "q" zwischen den Fragezeichen direkt nach dem Textcodec.
Treehouse
Beiträge: 100
Registriert: 18. Juni 2007 10:21

Beitrag von Treehouse »

Ahh ok vielen dank euch beiden. Ich werde mir das mal durchlesen. Ansonsten weiß ich ja wo ich fragen kann :wink:
Treehouse
Beiträge: 100
Registriert: 18. Juni 2007 10:21

Beitrag von Treehouse »

dontinelli hat geschrieben:Plus davor ev. mit Base64 oder Quoted-printable encoden.
Ich muss noch mal kurz was fragen... :roll:
Gibt es eine Klasse oder Funktion in Qt4 die sowas unterstützt? Also Base64 habe ich gefunden aber das "Quoted-printable" scheint so ein Fall für sich zu sein.
dontinelli
Beiträge: 146
Registriert: 22. September 2006 20:53

Beitrag von dontinelli »

Nein, gibt es meines Wissens nicht. Ist aber keine Hexerei, das selber zusammenzustiefeln, wenn du dir den Aufbau angeschaut hast.
Antworten