In deinem Code speicherst du aber UTF-16 anstatt UTF-8. Ist das denn so gewollt?
ABER der Konverter streikt, da die neuen Textdateien in UTF-16-LE und nicht mehr in UTF-8 codiert werden.
Mit dieser kleinen Routine kannst du auch UTF-8 schreiben:
Delphi-Quellcode:
uses
WideStrings, WideStrUtils;
procedure SaveToUTF8(const Filename: string; Content: TWideStrings);
var
Stream : TFileStream;
Zeile : UTF8String;
begin
Zeile := UTF8Encode(Content.Text);
Stream := TFileStream.Create(Filename, fmCreate);
try
Stream.WriteBuffer(sUTF8BOMString[1], Length(sUTF8BOMString));
Stream.WriteBuffer(Zeile[1], Length(Zeile));
finally
Stream.Free;
end;
end;
Der Konverterhersteller schrieb mir, ich könne auch UTF-16 verwenden, wenn ich den fehlenden BOM $FFFE mitgeben würde. Ich werde die Funktion mit UTF-8 gleich einmal ausprobieren.
Viele Grüße
Ingo