我试图提取给定网址的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);
});
如何强制执行返回数据的编码?
由于
答案 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);
});
});