我通过memo1.SaveToFile(文件名),但是文件格式需要保存“编码UTF-8格式”。
从网上找一过程procedure SaveUTF8File(AContent:string;AFileName: string);
var ffileStream:TFileStream;
futf8Bytes: string;
S: string;
begin
ffileStream:=TFileStream.Create(AFileName,fmCreate);
futf8Bytes:= UTF8Encode(AContent);
S:=#$EF#$BB#$BF;
ffileStream.Write(S[1],Length(S));
ffileStream.Write(futf8Bytes[1],Length(futf8Bytes));
ffileStream.Free;
end;我写的执行过程。
SaveUTF8File(Memo1.Text,filenme);
但是将文件打开发现是乱码。
请求高手,delphi保文本文件如何选择编码UTF-8格式。
UTF-8
从网上找一过程procedure SaveUTF8File(AContent:string;AFileName: string);
var ffileStream:TFileStream;
futf8Bytes: string;
S: string;
begin
ffileStream:=TFileStream.Create(AFileName,fmCreate);
futf8Bytes:= UTF8Encode(AContent);
S:=#$EF#$BB#$BF;
ffileStream.Write(S[1],Length(S));
ffileStream.Write(futf8Bytes[1],Length(futf8Bytes));
ffileStream.Free;
end;我写的执行过程。
SaveUTF8File(Memo1.Text,filenme);
但是将文件打开发现是乱码。
请求高手,delphi保文本文件如何选择编码UTF-8格式。
UTF-8
我测试下面是可行的:
SaveUTF8File('好样的abc', 'd:\a.txt')
var
ffileStream: TFileStream;
futf8Bytes: AnsiString;
S: AnsiString;begin
ffileStream := TFileStream.Create(AFileName, fmCreate); futf8Bytes := UTF8Encode(AContent);
S := #$EF#$BB#$BF;
ffileStream.Write(S[1], Length(S));
ffileStream.Write(futf8Bytes[1], Length(futf8Bytes));
ffileStream.Free;
end;
没问题,高低版本通用.
如果楼主是高版本Delphi就简单了.直接可以存