现在网上普遍存在的是使用以下的code获取网页信息的:
function getHttpPage(url)
t = getBody(url)
getHttpPage = bytesToBstr(t,"gb2312") '(1)
end function
function getBody(url)
' on error resume next
set retrieval = createObject("Microsoft.XMLHTTP")
with retrieval
.open "get", url, false, "", ""
.send
getBody = .responseBody
end with
set retrieval = nothing
end function
function bytesToBstr(body, cSet)
set objStream = server.CreateObject("adodb.stream")
objStream.type = 1
objStream.mode = 3
objStream.open
objStream.write body
objStream.position = 0
objStream.type = 2
objStream.charset = cSet
bytesToBstr = objStream.readText
objStream.close
set objStream = nothing
end function
但我发现这段代码只对网页中设定编码格式为“gb2312”的网页才能正确显示,比方说
http://news.sina.com.cn/
但对有些编码格式设置为“utf-8”的网页显示出来的就是乱码了,比方说
http://www.csdn.net/
当我把(1)出的gb2312改为utf-8的时候结果又相反。
那有没有什么办法能够提前获得网页的编码格式呢?
看过一些有关的帖子,但回答的都不完全。。。