我用inet来获取UTF-8网页源码,但得到的中文是乱码?请问怎样转换呢?我找了几个UTF-8解码程序,但都不完整,解出来的有很多?号
解决方案 »
- 有什么好方法可以实现对网站的自动登录?
- On Error Resume Next输出错误号等
- asp问题,如何取得该插入语句的主键,总是报没有字段
- vb中用treeview以Access(含多个表)的表名按分类建立子结点(自己建立父结点)问题!急急
- 为什么提示我 至少一个参数没有赋值
- 我用自己的程序控制鼠标通过它控制其它程序想要 吗 ?
- VB用PACKAGE向导制作安装盘时,怎样更改缺省安装目录???
- 如何产生6位唯一随机数
- 怎么样才能将AutoCAD文件导出为WMF文件时,使超出窗口的大图也能全部显示?
- 将会一直加分至300分!请踊跃回答“Word VBA(或VB+引用Microsoft Word 9.0 Object Library)的高手请进!”
- 如何在一个漂亮的框架上添加一个网页 可以自动打开指定网站
- VB中对SQL修改哪个语句比较快?
Set Stream = CreateObject("ADODB.Stream")
Stream.Type = 2
Stream.Mode = 0
Stream.Open
Stream.Charset = newCharset
Stream.WriteText (str)
Stream.Position = 0
Stream.Type = 2
Stream.Charset = oldCharset
s = Stream.ReadText()
Stream.Close
CharsetConvert = s
End Function
Dim strbuffer() As Byte
Select Case State
Case icResponseCompleted '12
strbuffer = Inet2.GetChunk(5000000, icByteArray)
Debug.Print UTF8_Decode(strbuffer)
Case Else
End Select
End SubPublic Function UTF8_Decode(ByRef bUTF8() As Byte) As String
'UTF-8 解码
Dim lRet As Long
Dim lLen As Long
Dim lBufferSize As Long
Dim sBuffer As String
Dim bBuffer() As Byte
lLen = UBound(bUTF8) + 1
If lLen = 0 Then Exit Function
lBufferSize = lLen * 2
sBuffer = String$(lBufferSize, Chr(0))
lRet = MultiByteToWideChar(CP_UTF8, 0, VarPtr(bUTF8(0)), lLen, StrPtr(sBuffer), lBufferSize)
If lRet <> 0 Then
sBuffer = Left(sBuffer, lRet)
End If
UTF8_Decode = sBuffer
End Function太完美了!!!!