Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi utf-8 aus Mail-subject mit Delphi5 in ANSI konvertieren (https://www.delphipraxis.net/146597-utf-8-aus-mail-subject-mit-delphi5-ansi-konvertieren.html)

Siggi 23. Jan 2010 12:56


utf-8 aus Mail-subject mit Delphi5 in ANSI konvertieren
 
Hallo Leute,

ich habe mir ein kleines Programm zusammengestellt, das Mails aus Firefox ausliest und in einer Datenbank speichert.
Das funktioniert auch sehr gut, bis auf manche Mails, bei denen der Betreff in der Firefox-Maildatei (eine Textdatei, die ich direkt auslese) bereits so enthalten ist:
Zitat:

Subject: Re: Re-8: =?UTF-8?B?QsO8Y2hlcmVpdmVyd2FsdHVuZyBmw7xyIFNjaHVsZW46?=
=?UTF-8?B?IEVpbmlnZSBGcmFnZW4=?=
Da hier "utf-8" steht, gehe ich mal davon aus, dass man das auch konvertieren kann und Firefox zeigt den Betreff ja auch richtig an, also muss es ja gehen. Da ich in der Applikation einige Komponenten verwende, die ich nur für Delphi5 besitze, kann ich derzeit keine neuere Delphi-Verion einsetzen, in der das vielleicht einfacher geht. Daher bitte nur Antworten, die auch mit Delphi5 realisierbar sind.

Versucht habe ich es mit der JCL- Funktion UTF8ToWideString. Der Betreff in oben angezeigter Form liegt dabei in einem String "Betreff" und ich versuche ihn wie folgt zu wandeln und testweise anzuzeigen:
Delphi-Quellcode:
//in der Variablen Betreff liegt der Text aus der Maildatei ab Position 8 der Subject-Zeile bis zum Ende des Betreffs
Inhalt:=UTF8ToWideString(Betreff);
MessageDlg(inhalt, mtWarning, [mbOK], 0);
Das Ergebnis unterscheidet sich allerdings überhaupt nicht von dem übergebenen String.

Was mache ich da falsch??

Danke füe Eure Tipps!
Siggi

Bernhard Geyer 23. Jan 2010 17:42

Re: utf-8 aus Mail-subject mit Delphi5 in ANSI konvertieren
 
Die Daten sind noch zusätzlich Base64-Codiert. Also erst das rückgängig machen und dann die UTF8-Codierung.

Siggi 24. Jan 2010 13:50

Re: utf-8 aus Mail-subject mit Delphi5 in ANSI konvertieren
 
uuups, hätte ich auch selbst daruf kommen können - aber man lernt halt nie aus :-).

Danke, nun geht's !

Techcrawler 11. Feb 2010 18:29

Re: utf-8 aus Mail-subject mit Delphi5 in ANSI konvertieren
 
Zitat:

Zitat von Bernhard Geyer
Die Daten sind noch zusätzlich Base64-Codiert. Also erst das rückgängig machen und dann die UTF8-Codierung.

Gib mir doch bitte mal einen Tipp, wie die entsprechende Funktion aussehen muss, ich sitze vor dem gleichen Problem.
In PHP würde ich es mit imap_utf8() einfach lösen, welche Funktion brauche ich bei Delphi?

himitsu 11. Feb 2010 18:35

Re: utf-8 aus Mail-subject mit Delphi5 in ANSI konvertieren
 
Ich bin mir ganz sicher, daß wir genau das Gleiche Ende letzen Jahres auch schonmal hier hatten.
(inkl. aller Lösungen)

Siggi 11. Feb 2010 19:12

Re: utf-8 aus Mail-subject mit Delphi5 in ANSI konvertieren
 
also ich habe es unter Delphi 5 mit der Function Base64Decode aus der Unit MimeUtil in der Komponentensammlung ICS von Francois Piette decodiert. Das ist als Freeware unter http://www.overbyte.be zu finden.

invalid_operation 13. Feb 2010 00:00

Re: utf-8 aus Mail-subject mit Delphi5 in ANSI konvertieren
 
Zitat:

Zitat von himitsu
Ich bin mir ganz sicher, daß wir genau das Gleiche Ende letzen Jahres auch schonmal hier hatten.
(inkl. aller Lösungen)

Ja, stimmt! Nämlich in diesem Thread :wall:

:mrgreen:

Sorry für die Schleife, himitsu :roll:

Vor ein paar/vielen Monaten hatte ich ein ähnliches Problem mit Delphi5pro, um das ich mich mit synapse "herumgemogelt" habe.

HTH


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:08 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz