Posts match “ utf8 ” tag:

授權方式(Auhorization): CC-BY 4.0

Intro

最近在對付某個Big5網站, 用js來寫抓抓, 對於這種古老網站, 一定都會碰到big5 to utf-8問題

nodejs上面有兩套node-iconv跟iconv-lite, 前者是原生支援iconv, 後者是用js硬幹出來的

一開始用了前面那個卻轉不出效果, 用後面的終於成功了,

var http = require('http')
  , program = require('commander')
  , iconv = require('iconv-lite')
  , BufferHelper = require('bufferhelper')
  , options = {
    host: 'www.cpbl.com.tw',
    port: '80',
    path: '/' };
    
 http.get(options, function (res) {
      var bufferhelper = new BufferHelper();
      res.on('data', function (chunk) {
        bufferhelper.concat(chunk);
      });
      res.on('end', function (){
        console.log(iconv.decode(bufferhelper.toBuffer(), 'Big5'));
      });
    });

用request套件, 似乎會強制幫你轉utf-8, 所以要用http.get然後處理回來的buffer