我正在使用:模块:请求-简化的HTTP请求方法,用于抓取带有重音字符á é ó ú ê ã等的网页。
á é ó ú ê ã
我已经尝试encoding: utf-8过但没有成功。我仍然在结果中得到这个 字符。
encoding: utf-8
request.get({ uri: url, encoding: 'utf-8' // ...
是否有任何配置可以解决?
我不知道这是否是一个问题,但是我为此模块填写了一个。尚无答案。:/
由于不推荐使用二进制,因此使用iconv并正确处理解码似乎是一个更好的主意:
var request = require("request"), iconv = require('iconv-lite'); var requestOptions = { encoding: null, method: "GET", uri: "http://something.com"}; request(requestOptions, function(error, response, body) { var utf8String = iconv.decode(new Buffer(body), "ISO-8859-1"); console.log(utf8String); });
重要的部分是将HTTP请求的编码设置为null encoding: null。
encoding: null