Line Input 读出乱码真奇怪

imrhold 2003-11-30 01:26:59
Filenum = FreeFile()
Open "C:\test.htm" For Input As #Filenum
'读取HTML源文件到字符串变量str_Text
str_Text = ""
While Not EOF(Filenum)
Line Input #Filenum, sVar
str_Text = str_Text & sVar & vbCrLf
Wend
Close #Filenum

test.htm里面的第一行
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
变成了
锘?!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

其他行都没问题
怎么会事?
...全文
611 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
imrhold 2003-12-02
  • 打赏
  • 举报
回复
谢谢各位,我已经知道原因了

我保存的那个google页编码是UTF-8
所以读出以后会有乱码

用记事本打开,再另存为非UTF-8格式的就可以了
northwolves 2003-11-30
  • 打赏
  • 举报
回复
二位的代码都没问题啊,我这里运行正常。
imrhold 2003-11-30
  • 打赏
  • 举报
回复
我试过了
还是有乱码
楼上的兄台可以把google页面保存下来
读看看
谢谢了
rainstormmaster 2003-11-30
  • 打赏
  • 举报
回复
这样吧,你以2进制方式打开文件,看是否有乱码:
dim file as string
file="c:\test.htm"
dim buff() as byte
dim i as long
i=filelen(file)
redim buff(i-1)
open file for binary as #1
get #1,,buff
close #1
dim s as string
s=strconv(buff,vbunicode)
debug.print s
imrhold 2003-11-30
  • 打赏
  • 举报
回复
刚才我把前面一段删了
可是
<HTML><HEAD><TITLE>Google</TITLE>
变成了
锘?HTML><HEAD><TITLE>Google</TITLE>
是不是后面有什么会影响的啊?
imrhold 2003-11-30
  • 打赏
  • 举报
回复
我用的测试页是google的首页面
rainstormmaster 2003-11-30
  • 打赏
  • 举报
回复
关注,如果你的第一行真是:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
不会出现你说的问题
用16进制编辑器检查一下是否在<!的前面还有什么不可见字符

或者用vb以2进制方式打开文件,读出它的第一个字节,看看到底是什么

7,762

社区成员

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

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