Nodejs jsdom编码

时间:2014-12-21 18:55:24

标签: node.js encoding iconv jsdom

我正在尝试使用标题

中的以下标记来解析网站
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"

跟着

  

Aflenz - Bürgeralm

我的节点js代码:

//includes

    var jsdom = require("jsdom");
    var fs = require('fs');
    var Buffer = require('buffer').Buffer;
    var Iconv  = require('iconv').Iconv;
    var iconv = new Iconv('iso-8859-1','utf-8');


 //parsing on callback from jsdom
        var name = $(".name_detail").html();
        console.log("db"+name);
        console.log("db"+iconv.convert(name).toString());

通过ssh输出:

dbAflenz - B�rgeralm
dbAflenz - B�rgeralm

提前谢谢

1 个答案:

答案 0 :(得分:1)

您可以尝试以下操作(JSDOM allows to make the request in binary format):

request({uri: url, encoding: 'binary'}, function(err, request, body) {
     ...
     body = new Buffer(body, 'binary')
     iconv = new Iconv('ISO-8859-1', 'UTF8')
     body = iconv.convert(body).toString()

这有助于解决转换的问题。

相关问题