用javascript解决外部数据抓取中的乱码问题
在我们日常编程工作中,外部数据抓取技术发挥着至关重要的作用。无论是在ASP环境还是HTA环境中,这一技术都扮演着不可或缺的角色。当外部数据采用GB2312编码时,转码问题便成为我们必须面对的挑战。传统的使用VBS函数进行转码的方法虽然可行,但运算量较大,且处理特殊字符时容易出现错误。为了解决这个问题,我们可以借助ADODB.Stream控件,这种方法更为简便高效,无需依赖VBS的二进制处理函数。
以下是一段利用ADODB.Stream控件进行GB2312转码的代码示例:
```javascript
function loadData(sUrl){
var xh = new ActiveXObject("Microsoft.XMLHTTP");
xh.open("GET", sUrl, false);
xh.send(null);
return gb2utf8(xh.responseBody);
}
function gb2utf8(sData){
var oStream = new ActiveXObject("adodb"+".stream");
oStream.Type = 1; // 设置流类型为文本流
oStream.Mode = 3; // 设置流模式为读写模式
oStream.Open(); // 打开流
oStream.Write(sData); // 写入数据
oStream.Position = 0; // 设置流位置为起始位置
oStream.Type = 2; // 设置流类型为二进制流
oStream.Charset = "GB2312"; // 设置字符集为GB2312
return oStream.ReadText(); // 读取转换后的文本
}
```
编程语言
- 用javascript解决外部数据抓取中的乱码问题
- 关于jQuery中fade(),show()起始位置的一点小发现
- 老生常谈JQuery data方法的使用
- 微信小程序loading组件显示载入动画用法示例【附
- Laravel 5.4.36中session没有保存成功问题的解决
- JS上传图片前实现图片预览效果的方法
- Servlet网上售票问题引发线程安全问题的思考
- asp批量生成大量规律性文本内容的代码
- 快速解决PHP调用Word组件DCOM权限的问题
- vue-cli中的babel配置文件.babelrc实例详解
- PHP读取目录树的实现方法分析
- 简单实现js悬浮导航效果
- mysql 协议的ping命令包及解析详解及实例
- Three.js基础学习之场景对象
- JavaScript 数组some()和filter()的用法及区别
- jQuery选择器querySelector的使用指南