以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]中文乱码问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=120873)

--  作者:paniwangji
--  发布时间:2018/6/25 15:30:00
--  [求助]中文乱码问题
请教老师,我从网页抓取的信息显示如下,请问这种乱码可以转换成正常的文字吗?
添加不了附件,大概就是一排黑色菱形方块乱码
[此贴子已经被作者于2018/6/25 15:34:33编辑过]

--  作者:有点甜
--  发布时间:2018/6/25 16:46:00
--  

参考

 

dim web = e.Form.Controls("WebBrowser1").basecontrol
dim s as io.Stream = web.DocumentStream
Dim getReader = new System.IO.StreamReader(s, Encoding.utf8)
Dim str = getReader.ReadToEnd()
msgbox(str)


--  作者:paniwangji
--  发布时间:2018/6/26 13:44:00
--  
有点甜老师,能否解释一下,代码看的不是很明白。
web,s,getReader 是怎样的类型,原理没看懂,请指教,感谢!

--  作者:有点甜
--  发布时间:2018/6/26 14:57:00
--  
请贴出你抓取网页的代码。
--  作者:paniwangji
--  发布时间:2018/6/26 15:52:00
--  
Dim url As String = ***
Dim rqst As System.Net.HttpWebRequest = System.Net.HttpWebRequest.Create(url)
Dim rsps As System.Net.HttpWebResponse = rqst.GetResponse
Dim stm As System.IO.Stream = rsps.GetResponseStream()
Dim reader As New System.IO.StreamReader(stm)
Dim str As String = reader.ReadToEnd   
stm.Dispose()
Return(str)

然后我会在str里分类提取一些数据,数字都能正常保存,只有中文部分是乱码
[此贴子已经被作者于2018/6/26 15:53:36编辑过]

--  作者:有点甜
--  发布时间:2018/6/26 16:22:00
--  

 

Dim url As String = "http://www.baidu.com"
Dim rqst As System.Net.HttpWebRequest = System.Net.HttpWebRequest.Create(url)
Dim rsps As System.Net.HttpWebResponse = rqst.GetResponse
Dim stm As System.IO.Stream = rsps.GetResponseStream()
Dim reader As New System.IO.StreamReader(stm,encoding.utf8)
Dim str As String = reader.ReadToEnd  
stm.Dispose()
Return(str)


--  作者:paniwangji
--  发布时间:2018/6/26 16:35:00
--  
这个我试过了,没有效果,中文还是乱码
--  作者:有点甜
--  发布时间:2018/6/26 18:06:00
--  
以下是引用paniwangji在2018/6/26 16:35:00的发言:
这个我试过了,没有效果,中文还是乱码

 

具体网页地址贴出来测试。