我在读取文本文件(逗号隔开的txt文件)的时候。当文件编码方式是UTF-8的时候第一行的第一个字段乱码。跪求大神帮助。
具体部分代码如下: list:=TStringList.Create;
listr:=TStringList.Create;
list.LoadFromFile(file_path);
for j:=0 to list.Count-1 do
Begin
listr.Delimiter :=',';//逗号分隔
listr.DelimitedText :=list[j];
str1:=listr[0];//这个字段报错,乱码。说是utf-8文件的钱三个字节造成的(ANSI格式的文件正常),第二行开始正常
str2:=listr[1];
str3:=listr[2];
跪求各位大神指教~~~~~~。如何解决啊!
具体部分代码如下: list:=TStringList.Create;
listr:=TStringList.Create;
list.LoadFromFile(file_path);
for j:=0 to list.Count-1 do
Begin
listr.Delimiter :=',';//逗号分隔
listr.DelimitedText :=list[j];
str1:=listr[0];//这个字段报错,乱码。说是utf-8文件的钱三个字节造成的(ANSI格式的文件正常),第二行开始正常
str2:=listr[1];
str3:=listr[2];
跪求各位大神指教~~~~~~。如何解决啊!
UTF8FileBOM:boolean;
listr.Delimiter :=',';//逗号分隔
listr.DelimitedText :=list[j];
UTF8FileBOM:=(ord(listr[0][1])=$EF) and (ord(listr[0][2])=$BB) and (ord(listr[0][3])=$BF);
if UTF8FileBOM then
str1:=strpas(@listr[0][4])
else
str1:=listr[0];
str2:=listr[1];
str3:=listr[2];