在PB10.0下读取文本文件,得到的是乱码.如何解决?

uuu2003hello 2008-02-18 04:01:27
在PB10.0下使用fileread()函数按行读取模式Linemode!读取文本文件,得到是乱码. 而在PB9.0下得到正确的字符串,我上网查了一下,据说是由于PB10.0使用Unicode字符集的缘故,如何解决这个问题?
...全文
1140 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
meiZiNick 2008-05-01
  • 打赏
  • 举报
回复
以后需再关注,现在先帮你顶一下
uuu2003hello 2008-02-21
  • 打赏
  • 举报
回复
我试使用blob读,string转是可以读取文本文件.但使用blob变量,就必须使用streammode!模式打开文件,这样就不能按行读取文本文件.

我的文本文件是汉字而且每行的长度不同,要求按行读取,如何办?
lacolor 2008-02-21
  • 打赏
  • 举报
回复
楼上正解。
AFIC 2008-02-20
  • 打赏
  • 举报
回复
henry1025 说的很清楚了
fileread(fp,tb)
tx = string(tb,encodingansi!)
或者其他encoding自己查一下
uuu2003hello 2008-02-20
  • 打赏
  • 举报
回复
经研究,发现在PB10.0下读英文文本文件正常,一旦读到汉字,则以后读取的字符串都是乱码,何故?

附源程序如下:
blob tb
integer fp , i
i = 1
string tx

fp = FileOpen("d:\123\附加说明.txt", lineMode!, read!, LockReadWrite!, Replace!)

for i = 1 to 10
fileread(fp,tx)
messagebox("",tx)

next
uuu2003hello 2008-02-20
  • 打赏
  • 举报
回复
如何查看文件是哪个字符集?
henry1025 2008-02-19
  • 打赏
  • 举报
回复
blob读,string转,查看文件是哪个字符集。具体可以看一下string函数帮助。
uuu2003hello 2008-02-18
  • 打赏
  • 举报
回复
操作系统是WindowsXP,读的是普通文本文件,有字母,有数字,有汉字. 听说PB10.0使用用Unicode字符集,故字符串要在ASCII字符集与Unicode字符集相转换,但不知如何转换?
ribut9225 2008-02-18
  • 打赏
  • 举报
回复
可能是文本文件本身就有问题
新一个TXT试试
zteds 2008-02-18
  • 打赏
  • 举报
回复
PB10乱码,PB9正常?什么操作系统,读的哪国语言

是不是顺序搞错了·

mark

1,108

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder 相关问题讨论
社区管理员
  • 基础类社区
  • WorldMobile
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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