vb打开html格式文件
我有一个html文件,用记事本打开的方式可以正常读取其中的内容。可是我用open"E:\1.html"forinputas#1这种方式打开文本,发现里面有很多中文都是无法...
我有一个html文件,用记事本打开的方式可以正常读取其中的内容。
可是我用 open "E:\1.html" for input as #1
这种方式打开文本,发现里面有很多中文都是无法显示的···请问这个该怎么解决的? 展开
可是我用 open "E:\1.html" for input as #1
这种方式打开文本,发现里面有很多中文都是无法显示的···请问这个该怎么解决的? 展开
4个回答
展开全部
这个文件使用了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
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
展开全部
这个文件可能使用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
将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函数吧,如OpenFile、ReadFile、CloseFile
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
参考二楼的 应该行的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询