Registriert seit: 2. Apr 2004
Ort: Bonn
2.532 Beiträge
Delphi 11 Alexandria
|
AW: UTF ä und ß hintereinander , ß wird nicht encoded
17. Sep 2018, 23:47
Ich erhalte eine Email mit einem UTF codierten Betreff: '=?UTF-8?Q?Planm=C3=A4=C3=9Fige_Erh=C3=B6hung_xx-xx-xx?=
Code:
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;
Ich entferne die UTF ControllStrings und benutze dann TIdDecoderQuotedPrintable
Code:
Decoder :=TIdDecoderQuotedPrintable.Create;
versuch1:=Decoder.DecodeString(TRIM(betreff));
ergebnis:=UTF8ToWideString(versuch1);
Ergebnis:
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)
Versuch mal:
Delphi-Quellcode:
Decoder := TIdDecoderQuotedPrintable.Create;
versuch1:= Decoder.DecodeString(TRIM(betreff), IndyTextEncoding_UTF8);
|
|
Zitat
|