我正在尝试提取给定url的html内容,并且原始内容编码为utf-8。我得到页面的html,但是html元素的文本以错误的格式(问号)返回。

这是我的工作:

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);
});

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

谢谢

最佳答案

使用 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);
    });
});

关于html - 使用Node的http.get获取UTF-8 html内容,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27998950/

10-11 09:02
查看更多