NodeJS: 处理request网页乱码问题

对于gb2312编码的网页,直接用request去获取会得到乱码的结果,解决方法很简单:

1. npm install iconv-lite

2. var iconv = require(‘iconv-lite‘);

3.

request.get({
    url : url ,
    encoding : null //让body 直接是buffer
}, response);

4.

var response = function (err, response, body) {
    //返回的body 直接就是buffer 了...
    var buf =  iconv.decode(body, ‘gb2312‘);
    ...
    ...
}

done.

时间: 2024-10-15 19:27:26

NodeJS: 处理request网页乱码问题的相关文章

python抓取中文网页乱码通用解决方法

我们经常通过python做采集网页数据的时候,会碰到一些乱码问题,今天给大家分享一个解决网页乱码,尤其是中文网页的通用方法. 首页我们需要安装chardet模块,这个可以通过easy_install 或者pip来安装. 安装完以后我们在控制台上导入模块,如果正常就可以. 比如我们遇到的一些ISO-8859-2也是可以通过下面的方法解决的. 直接上代码吧: import urllib2import sysimport chardet req = urllib2.Request("http://ww

WebRequest 获取网页乱码

问题:在用WebRequest获取网页源码时得到的源码是乱码. 原因:1,编码不对 解决办法:设置对应编码 WebRequest request = WebRequest.Create(Url);WebResponse response = await request.GetResponseAsync(); Stream stream = response.GetResponseStream();StreamReader reader = new StreamReader(stream, Enc

网页乱码原理

做博客项目中遇到浏览器的参数提交到服务器产生乱码现象,于是对乱码问题一探究竟. 1.网页乱码是怎么发生的 为了搞清楚,这个网页乱码可能出现的情况,我把网页的chaset,文件的编码方式和response的编码格式都作为变量来测试.结果如下: 由此我断定,网页的编码方式和解码方式一样的时候,才不会出现乱码现象.而浏览器的解码方式response的header设置的charset  >  meta charset. 2.浏览器给服务器传参乱码 浏览器给服务器传参乱码,有可能是浏览器在传给服务器之前就

PHP网页乱码的问题

在自己制作一个网页时,时常会遇到网页乱码的问题. 其实导致网页乱码主要有几个原因,以下给出解决方法. 1.HTML的字符编码问题 该问题较常见,也是最明显和最容易解决的. 在网页<head>中加上: <meta http-equiv="Content-Type" Content="text/html;charset=utf8"/> 即可. 2.PHP的字符编码问题 这与上面类似. 在文件上方加上: header("Content-t

【PHP】解决网页乱码问题

在自己制作一个网页时,时常会遇到网页乱码的问题. 其实导致网页乱码主要有几个原因,以下给出解决方法. 1.HTML的字符编码问题 该问题较常见,也是最明显和最容易解决的. 在网页<head>中加上: <meta http-equiv="Content-Type" Content="text/html;charset=utf8"/> 即可. 2.PHP的字符编码问题 这与上面类似. 在文件上方加上: header("Content-t

网页乱码,解决方法

网页乱码,字符集的问题.博主少说废话了!直接上解决方法! 二种:1.在apache/nginx配置文件中,将charset值 更改为utf8/gb2312 2.在apache/nginx配置文件中,将 Charset值直接注释掉,然后在你的网页动态语言中,加入这一行: <head> <meta http-equiv="content-type" content="text/html:charset=utf8/gb2312"/> </he

python(27)requests 爬取网页乱码,解决方法

最近遇到爬取网页乱码的情况,找了好久找到了种解决的办法: html = requests.get(url,headers = head) html.apparent_encoding html.encoding = html.apparent_encoding print html.text 头文件中添加: import sys reload(sys) sys.setdefaultencoding("utf-8")

网页乱码解决小心得

出现乱码需要检查的项目:数据库编码.文件本身的字符集.html解析的字符集,如若上述项目编码一致仍然出现乱码,查看一下浏览器的编码,如果和设置的不一样说明上述设置有部分未成功,可以尝试使用header()函数再转化一下. FYI: 1. header("Content-type: text/html; charset=utf-8"); 2. <meta http-equiv="Content-Type" content="text/html; cha

app.use 的作用 正则表达式中/ 表示什么 nodejs pm2 怎样安装 乱码怎么解决

app.use 的作用 正则表达式中/ 表示什么 nodejs pm2 怎样安装 乱码怎么解决 时间:2017-05-23 00:18:43      阅读:16      评论:0      收藏:0      [点我收藏+] 1.express 框架中的app.use是什么作用? 手册上写着是: app.use([path], function)Use the given middleware function, with optional mount path, defaulting to