Вывод текстового файла Unicode отличается между XE2 и Delphi 2009?

Когда я пытаюсь выполнить приведенный ниже код, кажется, что в XE2 вывод отличается от 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;

Компиляция с XE2 на ПК с Windows 8 дает в WordPad

?? С

TXT шестнадцатеричный код: EF BB BF 3F 3F 0D 0A B0 43 0D 0A

Компиляция с D2009 на ПК с Windows XP дает в Wordpad 总结

 ° С

TXT шестнадцатеричный код: EF BB BF E6 80 BB E7 BB 93 0D 0A B0 43 0D 0A

У меня вопрос, почему он отличается и как я могу сохранить китайские символы в текстовый файл, используя старый ввод / вывод текстового файла?

Спасибо!

Ответы на вопрос(3)

Ваш ответ на вопрос