【Node.js】使用iconv-lite解决中文乱码 (GB2312)
2016-05-12 17:46
1051 查看
By Sodino 作为新手,碰到问题了就google了一下,网上已经有teary:window下nodejs爬取gb2312网页出现乱码的解决方案出来了。本文和上面的作法几乎相同,只是自己不想引用
GB2312编码的网页链接有:腾讯主页;GBK编码的网页链接有:搜狐主页。怎么查看网页是哪些编码呢?可以直接浏览器打开然后右键查看源代码,在
About Sodino
bufferhelper,自己用JavaScript原生的
Buffer替代实现了。代码如下:
123456789101112131415161718192021 | var http = require("http");var iconv = require('iconv-lite');var url = 'http://www.qq.com/';http.get(url, function(res){ var arrBuf = []; var bufLength = 0; res.on("data", function(chunk){ arrBuf.push(chunk); bufLength += chunk.length; }) .on("end", function(){ // arrBuf是个存byte数据块的数组,byte数据块可以转为字符串,数组可不行 // bufferhelper也就是替你计算了bufLength而已 var chunkAll = Buffer.concat(arrBuf, bufLength); var strJson = iconv.decode(chunkAll,'gb2312'); // 汉字不乱码 console.log(strJson); });}); |
meta标签中去查看
Content-Type就好了.如下图.
About Sodino
相关文章推荐
- VirtualBox,vagrant,ubuntu,nodejs环境搭建
- node.js的process进程和子进程
- 经典qq表情插件(html+nodejs应用)
- 整理一些前端开发比较好的node包
- 使用Node.js实现一个简单的ZooKeeper客户端
- node.js sream II
- node.js stream I
- xhr的send方法以及node如何处理get和post数据
- 使用VS开发 Node.js指南
- windows下运行多个版本node.js
- Cloudera namenode 重启失败
- 222. Count Complete Tree Nodes
- nodejs?
- hdu4587TWO NODES【割点】
- Node.js的项目构建工具Grunt的安装与配置教程
- 管理 node 版本,选择 nvm 还是 n?
- 解决提示 The node "nios_sys:nios_sys_inst|sdram:the_sdram|za_data[0]" has multiple drivers due错误
- ubuntu16.04 nodejs 安装 node指令无效
- 用issnode+IIS来托管NodeJs Server
- 在 node.js 的 express web 框架中自动注册路由