文本修改后读取乱码

sheepnam 2005-11-12 06:41:11
导出DBGrid的内容(不固定的两个字段),并保存到文本文件里!
然后在文本里修改,重新导入数据库的时候出现错误!
比如:
//===========================
##23243#我爱CSDN论坛
//===========================
修改为:
//===========================
##23243#我爱
CSDN论坛
//===========================
后面的“我爱CSDN论坛”,依旧是导入到同个字段里。(我用的是D7+SQL2000)
下面是我的导入代码:
var
filename,FileN:string;
//s,s1,s2:string;
Len,i,j:integer;
txtall,x1,x2:string;

Str:string;
F:TextFile;
Field1,Field2:string;

FilVar:textfile;
// par:TParameter;
begin
opendialog1.Filter:='(*.*)|*.*';
if opendialog1.Execute then
begin
filename:=opendialog1.FileName; //文件的物理路径
end
else
exit;
//读取文件前缀名和后缀名
s:=ExtractFileName(opendialog1.FileName);
// StringList:=TstringList.Create;
Len:=Length(S);
j:=1;
For i:=1 to Len do
if s[i] = '.' then
begin
s1:=copy(s,j,(i-j));
s2:=copy(s,i+1,len);
end;

AssignFile(F,filename);
Reset(F);
Field1:='';
Field2:='';
while not Eof(F) do
begin
Readln(F,Str);

str:=Copy(Str,Pos('$$',Str)+2,Length(Str));
if Pos('$$',Str)>0 then
begin
Field1:=Copy(Str,1,Pos('$$',Str)-1);
Field2:=Copy(Str,Pos('$$',Str)+2,Length(Str));
end
else
begin
Field1:=Field1;
Field2:=Field2+str;
end;
AppendNewRecord(Field1,Field2);
end;
CloseFile(F);
ShowMessage('Success');
...全文
59 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
sheepnam 2005-11-13
  • 打赏
  • 举报
回复
konhon兄,能不能说具体点啊

我用全部英文做数据然后修改(有换行)就没有问题!就是中文换行出现了问题。

另外我也试过修改文本,然后另存为其他编码的格式,但是也是一样而且UTF-8的格式是全部中文为乱码!!!
sheepnam 2005-11-12
  • 打赏
  • 举报
回复
是的!换行符,回车,半角,全角的问题
konhon 2005-11-12
  • 打赏
  • 举报
回复
可能是換行符的原因吧

2,497

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧