delphi2010文本文件编码问题

teams 2010-01-21 11:47:29
在delphi2010下面写文本文件,文件编码与内容均采用UTF-8时,读/写带汉字的数据正常。

问题:客户要求文件编码ANSI,文件内容采用GB2312/GBK编码方式。
在delphi7下正常读写操作。
而delphi2010下这种读写汉字会变成乱码,如何处理呢?


...全文
267 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
woxinyongheng0801 2010-09-06
  • 打赏
  • 举报
回复
学习ing
teams 2010-01-21
  • 打赏
  • 举报
回复
上楼的TEncoding.GetASCII要改为 TEncoding.Default
Hexpate 2010-01-21
  • 打赏
  • 举报
回复
如果你是用StringList操作的,在Savetofile的时候可以指定编码方式. Savetofile是一个重载的函数.
例如 a: TStringList; a.Savtofile('c:\1.txt', TEncoding.GetASCII);
teams 2010-01-21
  • 打赏
  • 举报
回复
谢谢bdmh关注
呵呵,原文件编码默认为ansi,而直接追加utf-8编码内容导致乱码。

关于d2010写文件总结:
1.用TextFile写文件时,以前delphi7下代码不用任何改动直接通过。
2.用TFile.AppendAllText写文件时,一行代码实现(d7不支持)
TFile.AppendAllText(filepath,'渴望!',Tencoding.Default); {默认 UTF8 格式}
3.注意保持文件编码与内容编码一致就OK!
bdmh 2010-01-21
  • 打赏
  • 举报
回复
2010中好像可以指定编码方式,比如TEncoding.Unicode,根据需要自己定,保存文本时应该有这个属性

5,927

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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