一尘不染

模块要求如何正确检索重音字符?......

node.js

我正在使用:模块:请求-简化的HTTP请求方法,用于抓取带有重音字符á é ó ú ê ã等的网页。

我已经尝试encoding: utf-8过但没有成功。我仍然在结果中得到这个 字符。

request.get({
    uri: url,
    encoding: 'utf-8'
    // ...

是否有任何配置可以解决?

我不知道这是否是一个问题,但是我为此模块填写了一个。尚无答案。:/


阅读 220

收藏
2020-07-07

共1个答案

一尘不染

由于不推荐使用二进制,因此使用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

2020-07-07