Delphi provides a straightforward way when saving text in TStringList in Unicode. Please see following example.
var myBatch:TStringList; begin myBatch := TStringList.Create; myMatch.Items.Add('Hello, world!'); myBatch.SaveToFile('d:\temp.txt',TEncoding.UTF8); myBatch.Destroy; end;