vb 获取网页内容 会乱码 这是为啥?帮我看看代码哪里出问题了,谢谢

rgbcn 2014-02-18 10:11:59
访问网页http://www.darkinblack.com/11.html,内容正常显示为
Kyyhkysmäki 3 B 20

但我用vb 去获取网页内容,却显示成
Kyyhkysm?ki 3 B 20

这是为什么呢? 编码问题么?需要怎么转换呢? 谢谢

Kyyhkysmäki 3 B 20
Kyyhkysm?ki 3 B 20



我的代码如下

Public Function getHtmlStr(strUrl As String) As String
Dim XmlHttp As Object
Set XmlHttp = CreateObject("Microsoft.XMLHTTP")

XmlHttp.Open "GET", strUrl, False
On Error GoTo Err_net
XmlHttp.Send

getHtmlStr = BytesToBstr(XmlHttp.responseBody, "utf-8")

Set XmlHttp = Nothing
Err_net:
End Function


Private Function BytesToBstr(strBody, codeBase) As String
Dim objStream As Object
Set objStream = CreateObject("Adodb.Stream")
objStream.Type = 1
objStream.Mode = 3
objStream.Open
objStream.Write strBody
objStream.position = 0
objStream.Type = 2
objStream.Charset = codeBase
BytesToBstr = objStream.ReadText
objStream.Close
Set objStream = Nothing
End Function

Private Sub Form_Load()
Debug.Print getHtmlStr("http://www.darkinblack.com/11.html")
End Sub
...全文
477 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
嗷嗷叫的老马 2014-02-25
  • 打赏
  • 举报
回复
特殊字符使用普通文本框是显示不了的. 试试使用RichTextBox,它应该能显示更多的字符.
bcrun 2014-02-19
  • 打赏
  • 举报
回复
不行的话就还是用浏览器控件来显示这些文字吧:)

另外之前论坛中讨论过的unicode相关的帖子中,有提到控件和字体的,不妨搜索出来参考一下。
rgbcn 2014-02-19
  • 打赏
  • 举报
回复
引用 2 楼 of123 的回复:
跟代码没关系,是显示字库的问题。要根据网页代码中字符集编码来调整所用的字体库。
需要怎么调整呢?windows 系统需要安装什么么?
of123 2014-02-19
  • 打赏
  • 举报
回复
跟代码没关系,是显示字库的问题。要根据网页代码中字符集编码来调整所用的字体库。
rgbcn 2014-02-19
  • 打赏
  • 举报
回复
不太懂。。。搞不定
rgbcn 2014-02-18
  • 打赏
  • 举报
回复
有没有人在线啊,帮我看看了,谢谢

1,502

社区成员

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

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