vb打开html格式文件

我有一个html文件,用记事本打开的方式可以正常读取其中的内容。可是我用open"E:\1.html"forinputas#1这种方式打开文本,发现里面有很多中文都是无法... 我有一个html文件,用记事本打开的方式可以正常读取其中的内容。
可是我用 open "E:\1.html" for input as #1
这种方式打开文本,发现里面有很多中文都是无法显示的···请问这个该怎么解决的?
展开
 我来答
远风的梦想家
2010-07-25 · TA获得超过2550个赞
知道大有可为答主
回答量:1389
采纳率:0%
帮助的人:0
展开全部
这个文件使用了UTF8编码或让孝告者别的编码方式,所以字符串显示不正确,解决方法有两种:
1、用记事本另存为慎纯,选择ANSI的字符集保存,之后就可以正常打开了。
2、把整个文件保存在一个字节数组里,然后用字符串转换函数strconv来转换,不过前提是你得知道是什么格式才行
UTF8编码可以用下面的函数来处理:
传入一个文件名,返回这个文件的内容,如果坦明文件是UTF8的话则返回是转换后的代码
Public Function ReadUTF8(ByVal sUTF8File As String) As String
If Len(sUTF8File) = 0 Or Dir(sUTF8File) = vbNullString Then Exit Function
Dim ados As Object
Set ados = CreateObject("adodb.stream")
With ados
.Charset = "utf-8"
.Type = 2
.Open
.LoadFromFile sUTF8File
ReadUTF8 = .ReadText
.Close
End With
Set ados = Nothing
End Function
沙慧月03
2010-07-27 · TA获得超过2157个赞
知道大有可为答主
回答量:2717
采纳率:100%
帮助的人:3613万
展开全部
这个文件可能使用UTF8编码,首先要将UTF-8转换为ANSI,然后再打开
将UTF-8转换为ANSI,首先先在VB中引用Microsoft ActiveX Data Objects 2.5 Library对象
Dim loadStream As ADODB.Stream
Dim saveStream As ADODB.Stream

Set loadStream = New ADODB.Stream
Set saveStream = New ADODB.Stream

With saveStream
.Mode = 8
.Open
.Charset = "chinese"
With loadStream
.Open
.Charset = "utf-8" '设置读取文件的字符和喊旦集,缺省唤扰为“unicode”
.LoadFromFile "E:\渗册1.html" '对文件名似乎要区分大小写,请注意了!
.CopyTo saveStream
.Close
End With
.SaveToFile "c:\ANSI.txt" '无法判断制定目录中是否有该文件,而且也无法覆盖
'只能写一个新文件,清注意!
.Close
End With
Set loadStream = Nothing
Set saveStream = Nothing

open "c:\ANSI.txt" for input as #1
end
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
API_Studier
2010-07-25 · TA获得超过295个赞
知道小有建树答主
回答量:97
采纳率:100%
帮助的人:121万
展开全部
用API函数吧,如OpenFile、ReadFile、CloseFile
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
科技程序迷
2010-07-25 · TA获得超过2822个赞
知道大有可为答主
回答量:2240
采纳率:0%
帮助的人:1841万
展开全部
参考二楼的 应该行的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式