3

我正在使用 Delphi 7,我编写了一个程序,该程序从用户那里获取一些信息,将来自多个编辑框和备忘录的信息以及备忘录中的其他输入组件组合在一起。如何将此备忘录保存为 UTF 8 文本文件?我从上一个程序的用户那里收到了一些文件,但没有解决 utf 问题,现在,当我打开输出文件时,我看到了???? (如您所知!)而不是不同的语言字符,这些是不可恢复的,是吗?

4

1 回答 1

9

像这样:

const
  UTF8BOM: array[0..2] of Byte = ($EF, $BB, $BF);
var
  UTF8Str: UTF8String;
  FS: TFileStream;
begin
  UTF8Str := UTF8Encode(Memo1.Text);

  FS := TFileStream.Create('C:\path to\file.txt', fmCreate);
  try
    FS.WriteBuffer(UTF8BOM[0], SizeOf(UTF8BOM));
    FS.WriteBuffer(PAnsiChar(UTF8Str)^, Length(UTF8Str));
  finally
    FS.Free;
  end;
end;
于 2012-10-15T20:53:24.440 回答