脚本语言jquery,使用ajax方法抓取gb2312页面乱码问题
想使用jquery做一个页面抓取工具。但是抓取到的页面如果是非UTF8字符编码的话就会产生乱码。有没有办法将其还原为gb2312?1.这个不涉及服务器端开发(无法对服务器...
想使用jquery做一个页面抓取工具。
但是抓取到的页面如果是非UTF8字符编码的话就会产生乱码。
有没有办法将其还原为gb2312?
1.这个不涉及服务器端开发(无法对服务器端进行干涉),只能在客户端想办法。
2.方法尽可能简单,最好能用JS搞定。
3 最好能跨平台。
自己搜索了很多资料。都不适用于自己。 展开
但是抓取到的页面如果是非UTF8字符编码的话就会产生乱码。
有没有办法将其还原为gb2312?
1.这个不涉及服务器端开发(无法对服务器端进行干涉),只能在客户端想办法。
2.方法尽可能简单,最好能用JS搞定。
3 最好能跨平台。
自己搜索了很多资料。都不适用于自己。 展开
4个回答
展开全部
function bytes2BSTR(vIn)
dim strReturn,i,ThisCharCode,innerCode,Hight8,Low8,NextCharCode
strReturn=""
for i=1 to LenB(vIn)
ThisCharCode=AscB(MidB(vIn,i,1))
if ThisCharCode<&H80 Then
strReturn=strReturn & Chr(ThisCharCode)
else
NextCharCode=AscB(MidB(vIn,i+1,1))
strReturn=strReturn&Chr(CLng(ThisCharCode)*&H100+CInt(NextCharCode))
i=i+1
end if
next
bytes2BSTR=strReturn
end function
把这个代码另存为后缀名为vbscript的文件,在你使用AJAX的页面引入这个页面
<script language="vbscript" src="文件名.vbscript"></script>
然后在你的JS代码里面把你的返回值用bytes2BSTR函数过一下就没有乱码了
js代码:fanhuizhi=bytes2BSTR(页面返回值)
dim strReturn,i,ThisCharCode,innerCode,Hight8,Low8,NextCharCode
strReturn=""
for i=1 to LenB(vIn)
ThisCharCode=AscB(MidB(vIn,i,1))
if ThisCharCode<&H80 Then
strReturn=strReturn & Chr(ThisCharCode)
else
NextCharCode=AscB(MidB(vIn,i+1,1))
strReturn=strReturn&Chr(CLng(ThisCharCode)*&H100+CInt(NextCharCode))
i=i+1
end if
next
bytes2BSTR=strReturn
end function
把这个代码另存为后缀名为vbscript的文件,在你使用AJAX的页面引入这个页面
<script language="vbscript" src="文件名.vbscript"></script>
然后在你的JS代码里面把你的返回值用bytes2BSTR函数过一下就没有乱码了
js代码:fanhuizhi=bytes2BSTR(页面返回值)
展开全部
jquery的编码就是UTF-8的编码 所以用非UTF-8就会出乱码 为了一致性只能全部统一UTF-8 除非你不用jquery
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用ajax抓页面?这个……如果同一个域,你直接在后台抓就行了,如果跨域,ajax不能跨域抓取吧……
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
http://hi.baidu.com/iworkiwin/blog/item/89d3ad0f139730eb37d12211.html
这是gb2312 和 utf8互转的js代码,获取数据后转一下即可
这是gb2312 和 utf8互转的js代码,获取数据后转一下即可
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |