...
var f: TextFile;
begin
AssignFile(f, 'test.txt');
Rewrite(f);
write(f, #$EF+#$BB+#$BF); // UTF-8 BOM,關鍵就是寫入這個UTF-8的BOM, BOM 是 Bype Order Mark 的縮寫。
writeln(f, UTF8Encode('中文'));
CloseFile(f);
...
在delphi中TextFile對象創建文件時默認是 ANSI 編碼, 這樣中文或者其它非英文字符顯示的時候就會變成亂碼。
以上是生成一個UTF8編碼的文本文件的代碼。
Byte Order
Mark