Thema: Delphi UTF-8 in Datei schreiben

Einzelnen Beitrag anzeigen

H.Bothur

Registriert seit: 25. Jun 2012
Ort: Seevetal & Lagos
257 Beiträge
 
Delphi 11 Alexandria
 
#1

UTF-8 in Datei schreiben

  Alt 18. Nov 2019, 09:25
Moin,

ich habe da eine Sache die ich nicht verstehe, in dem Beitrag hier ist sehr schön beschrieben wie man einen normalen Text in UTF-8 umwandelt.

Wenn ich das jetzt wie folgt umsetze passiert folgendes:

1) Bei ShowMessage wird der Text korrekt umgewandelt angezeigt
2) In der Textdatei steht wieder ein Ansi-String und die Umlaute sind nicht umkodiert worden

Warum das denn ???

Gruß
Hans

Delphi-Quellcode:
var
  U: UTF8String;
  R: RawByteString;
  OutFile: Text;

procedure TUTF8Test.Button1Click(Sender: TObject);
begin

  AssignFile(Outfile, 'Testausgabe.xml');
  ReWrite(OutFile);

  R := UTF8Encode('Hermann Jürgensen GmbH - äöüÄÖÜß');
  SetCodePage(R, $0000, False); // R hat die CodePage kopiert bekommen, daher explizit auf RAW umstellen
  ShowMessage(R); // *1

  writeln(outfile, R);
  CloseFile
  (Outfile);

end;
Hans-Georg Bothur
www.hermann-juergensen.de
  Mit Zitat antworten Zitat