使用Node的http.get获取UTF-8 html内容

时间:2015-01-17 11:24:09

标签: html node.js http encoding utf-8

我试图提取给定网址的html内容,而原始内容编码为utf-8。我得到了页面的html,但html elemnts中的文本以错误的格式(问号)返回。

这就是我的所作所为:

var parsedPath = url.parse(path);
var options = {
    host: parsedPath.host,
    path: parsedPath.path,
    headers: {
        'Accept-Charset' : 'utf-8',
    }
}

http.get(options, function (res) {
    var data = "";
    res.on('data', function (chunk) {
        data += chunk;
    });
    res.on("end", function () {
        console.log(data);
    });
}).on("error", function () {
    callback(null);
});

如何强制执行返回数据的编码?

由于

1 个答案:

答案 0 :(得分:9)

使用setEncoding()方法:

http.get(options, function (res) {
    res.setEncoding('utf8');

    var data = "";
    res.on('data', function (chunk) {
        data += chunk;
    });
    res.on("end", function () {
        console.log(data);
    });
});
相关问题