nodejs gb2312、GBK中文乱码解决方法

iconv需要依赖native库,这样一来,在一些不支持native模块安装的虚拟主机和windows平台上,我们还是无法安心处理GBK编码。

老外写了一个通过纯Javascript转换编码的模块 iconv-lite

可以实现window下的转换 ,通过npm可以安装此模块,bufferhelper是一个操作buffer的加强类

首先安装

npm install iconv-lite
npm install bufferhelper

var http = require('http'), 
var url = require('url').parse('http://www.9958.pw/');
var iconv = require('iconv-lite'); 
var BufferHelper = require('bufferhelper');

http.get(url,function(res){
  var bufferHelper = new BufferHelper();
  res.on('data', function (chunk) {
    bufferHelper.concat(chunk);
  });
  res.on('end',function(){ 
    console.log(iconv.decode(bufferHelper.toBuffer(),'GBK'));
  });
})