![]() |
UTF ä und ß hintereinander , ß wird nicht encoded
Ich erhalte eine Email mit einem UTF codierten Betreff: '=?UTF-8?Q?Planm=C3=A4=C3=9Fige_Erh=C3=B6hung_xx-xx-xx?=
Code:
Ich entferne die UTF ControllStrings und benutze dann TIdDecoderQuotedPrintable
while Pos('=?UTF-8',Dump)<>0 do
begin StartPos:=Pos('=?UTF-8',Dump)+10; EndPos:=PosEx('?=',Dump,startpos+10); Encoded:=Encoded+Copy(Dump,StartPos,EndPos-StartPos); Dump:=Encoded+Copy(Dump,EndPos+3,Length(Dump)-(EndPos+2)); end; Result:=Encoded;
Code:
Ergebnis: Decoder :=TIdDecoderQuotedPrintable.Create; versuch1:=Decoder.DecodeString(TRIM(betreff)); ergebnis:=UTF8ToWideString(versuch1); versuch1 = 'PlanmäÃ'#$009F'ige_Erhöhung_xx-xx-xx' ergebnis = 'Planmä�?ige_Erhöhung_xx-xx-xx' Was mache ich falsch? ß wird einfach nicht gewandelt, obwohl es meiner Meinung nach richtig geliefert wird. (=C3=9F) |
AW: UTF ä und ß hintereinander , ß wird nicht encoded
Hallo,
was passiert, wenn Du das ä mal wegläßt. Und wie hast Du die einzelnen String-Variablen definiert (welcher Typ genau)? |
AW: UTF ä und ß hintereinander , ß wird nicht encoded
Man sollte das entsprechende RFC Dokument lesen. Dort wird dann alles erklärt.
![]() Es gibt auch einen ![]()
Code:
herauskommen sollte
=?UTF-8?Q?Planm=C3=A4=C3=9Fige_Erh=C3=B6hung_xx-xx-xx?=
Code:
Planmäßige Erhöhung xx-xx-xx
|
AW: UTF ä und ß hintereinander , ß wird nicht encoded
Hallo,
das löst doch aber nicht das Problem des TE? Wo ist denn die Antwort auf seine Frage? PS: Ich persönlich finde die RFC's einfach nur schrecklich zu lesen. |
AW: UTF ä und ß hintereinander , ß wird nicht encoded
Zitat:
Delphi-Quellcode:
Decoder := TIdDecoderQuotedPrintable.Create;
versuch1:= Decoder.DecodeString(TRIM(betreff), IndyTextEncoding_UTF8); |
AW: UTF ä und ß hintereinander , ß wird nicht encoded
@hoika
Nun ja, wer die RFCs liest, der bekommt z.B. mit, dass dieser Text folgende Bedeutung hat:
Code:
Da fest vorauszusetzen, dass es sich beim Charset immer um UTF-8 handelt oder beim Encoding immer um QuotedPrintable, ist halt ein vorprogrammierter Knieschuss.
=?<charset>?<encoding>?<encoded-text>?=
Des weiteren wird bei QuotedPrintable im Header ein Leerzeichen durch =20 ersetzt oder durch den Unterstrich _. Damit hat man sozusagen alles zusammen um das Problem mit ein paar Zeilen universal zu lösen. |
AW: UTF ä und ß hintereinander , ß wird nicht encoded
Hallo,
du meinst also, dass zwar UTF8 im Betreff drinsteht, es aber selbst kein UTF8 ist. |
AW: UTF ä und ß hintereinander , ß wird nicht encoded
Nun, ich würde sagen, dass bei dieser Mail
Zitat:
Und bei der nächsten Mail? Die kann mit irgendeinem Charset und Base64 kodiert sein.
Code:
Natürlich kann ich das jetzt falsch verstanden haben und der TE will ein Programm schreiben, das nur diese eine Mail bearbeiten wird. Dann hättest du natürlich Recht.
From: =?US-ASCII?Q?Keith_Moore?= <moore@cs.utk.edu>
To: =?ISO-8859-1?Q?Keld_J=F8rn_Simonsen?= <keld@dkuug.dk> CC: =?ISO-8859-1?Q?Andr=E9?= Pirard <PIRARD@vm1.ulg.ac.be> Subject: =?ISO-8859-1?B?SWYgeW91IGNhbiByZWFkIHRoaXMgeW8=?= =?ISO-8859-2?B?dSB1bmRlcnN0YW5kIHRoZSBleGFtcGxlLg==?= |
AW: UTF ä und ß hintereinander , ß wird nicht encoded
Zitat:
Danke für die schnellen Hinweise von allen hier. |
AW: UTF ä und ß hintereinander , ß wird nicht encoded
Zitat:
Hab vielen Dank für Deinen Lösungsweg, werde ich beherzigen. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:33 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz