delphi读取txt时候的中文乱码

都先生 2012-05-26 08:53:37
delphi读取txt时候的中文乱码怎么解决?
数字和字符都正常,就是汉字出现乱码,在线等待
...全文
1574 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
「已注销」 2012-05-28
  • 打赏
  • 举报
回复
用UltraEdit工具打开文件,切换的16进制查看模式:
若前几个字节是 EF BB BF ,表示这是一个utf-8格式的文本文件
若前几个字节是 FF FE ,表示这是一个UT-16编码格式的文本文件
若没有这几个前缀,纯粹是是文本内容,说明这是一个ansi格式的文本文件。
delphi2009之前的版本中的空间(比如TMemo),没有能力显示前两种格式的文件,只能显示ansi格式的文本,因此你必须找第三方控件,或对文本内容进行字符集转换为ansi的再显示。
若是2009及以后的版本,你可以设置控件的font的charset为对应的字符集就可以了。

还有一种情况,在繁体系统里显示简体字,因为繁体字符集不包含简体字,因此即使是ansi格式的文本,系统也显示不了,需要将简体字转换成繁体字。


wintergoes 2012-05-26
  • 打赏
  • 举报
回复
Utf8toAnsi
AnsitoUtf8
试试这两个函数
山东蓝鸟贵薪 2012-05-26
  • 打赏
  • 举报
回复
你还是下载吧,我要下线了
http://download.csdn.net/detail/sgzhou12345/4331991
山东蓝鸟贵薪 2012-05-26
  • 打赏
  • 举报
回复
jubobo
(joy)
不可能的,你关注一下我的QQ
在备注中................
我传个实例给你
都先生 2012-05-26
  • 打赏
  • 举报
回复
知道是编码的问题。在memo里显示出来就有问题
我看见佛 2012-05-26
  • 打赏
  • 举报
回复
不知道你所用的DELPHI版本是多少,DELPHI7的话,TXT保存为ANSI编码则无误,你只要修改对应的保存编码即可。
D2010好像是UNICODE吧,你自己试下。

另也可以在DELPHI里面进行编码转换。
山东蓝鸟贵薪 2012-05-26
  • 打赏
  • 举报
回复
你可以先读取到MEMO1控件中试试吧,
也可能是编码问题的

5,388

社区成员

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

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