wyjście plików tekstowych Unicode różni się między XE2 i Delphi 2009?

Gdy próbuję, poniższy kod wydaje się być inny w XE2 niż w D2009.

procedure TForm1.Button1Click(Sender: TObject);
var Outfile:textfile;
    myByte: Byte;

begin
  assignfile(Outfile,'test_chinese.txt');
  Rewrite(Outfile);

  for myByte in TEncoding.UTF8.GetPreamble do write(Outfile, AnsiChar(myByte));
  //This is the UTF-8 BOM

  Writeln(Outfile,utf8string('总结'));
  Writeln(Outfile,'°C');
  Closefile(Outfile);
end;

Kompilowanie za pomocą XE2 na komputerze z systemem Windows 8 w programie WordPad

?? do

txt kod szesnastkowy: EF BB BF 3F 3F 0D 0A B0 43 0D 0A

Kompilowanie z D2009 na komputerze z systemem Windows XP daje w Wordpadzie

总结 ° C

txt kod szesnastkowy: EF BB BF E6 80 BB E7 BB 93 0D 0A B0 43 0D 0A

Moje pytania brzmią: dlaczego się różni i jak mogę zapisać chińskie znaki w pliku tekstowym przy użyciu starego pliku tekstowego I / O?

Dzięki!

questionAnswers(3)

yourAnswerToTheQuestion