VB讲读取的UTF-8XML网页转换为unicode编码

前端之家收集整理的这篇文章主要介绍了VB讲读取的UTF-8XML网页转换为unicode编码前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

上一篇的我找到的转换代码不太理想。任然有一些是“?”乱码,经过向多方学习最后找到两个方法

第一种方法

设置一个按钮,一个文本框。文本框的Multiline属性设置为true

 
 
  1. Const URLaddr = "http://api.douban.com/book/subject/isbn/9787115157676" '豆瓣网获取书籍信息网页地址
  2. DimIEreadAsObject
  3. Dimi&,jj&,aa$
  4. PrivateSubCommand1_Click()
  5. SetIEread=CreateObject("WinHttp.WinHttpRequest.5.1")
  6. CallByNameIEread,"Open",VbMethod,"GET",URLaddr,True
  7. CallByNameIEread,"Send",VbMethod
  8. CallByNameIEread,"WaitForResponse",VbMethod
  9. aa=CallByName(IEread,"ResponseText",VbMethod)
  10. Text1.Text=aa
  11. EndSub

第二种方法

需要引用Microsoft XML,v2.6

 
 
  1. FunctionGetBody(urls as string,Charset as string)
  2. GetBody=""
  3. OnErrorResumeNext
  4. DimAdo_StreamAsADODB.Stream
  5. DimObj_XMLHTTPAsMSXML2.XMLHTTP
  6. SetObj_XMLHTTP=NewMSXML2.XMLHTTP
  7. SetAdo_Stream=NewADODB.Stream
  8. Obj_XMLHTTP.Open"get",urls,False
  9. Obj_XMLHTTP.send
  10. IfObj_XMLHTTP.readyState=4Then
  11. IfCharset=""Then
  12. GetBody=Obj_XMLHTTP.responseBody
  13. Else
  14. Ado_Stream.Type=1
  15. Ado_Stream.Mode=3
  16. Ado_Stream.Open
  17. Ado_Stream.WriteObj_XMLHTTP.responseBody
  18. Ado_Stream.Position=0
  19. Ado_Stream.Type=2
  20. Ado_Stream.Charset=Charset
  21. GetBody=Ado_Stream.ReadText
  22. Ado_Stream.Close
  23. EndIf
  24. EndIf
  25. SetAdo_Stream=Nothing
  26. SetObj_XMLHTTP=Nothing
  27. EndFunction
 
 
  1. PrivateSubCommand1_Click()
  2. DimTxmlAsString
  3. Txml=GetBody("http://api.douban.com/book/subject/isbn/9787115157676","UTF-8")
  4. Debug.PrintTxml
  5. EndSub
原文链接:https://www.f2er.com/vb/260589.html

猜你在找的VB相关文章