gpt4 book ai didi

javascript - Node.js mikeal/请求模块 - 乱码非 utf8 网站 (Shift_JIS)

转载 作者:数据小太阳 更新时间:2023-10-29 04:42:23 24 4
gpt4 key购买 nike

我正在尝试使用请求模块访问非 utf-8 网站。此请求的响应是乱码。

var request = require('request');
request('http://www.alc.co.jp/', function (error, response, body) {
if (!error && response.statusCode == 200) {
console.log(body) // Print the web page.
}
});

即使在将编码选项设置为 Shift_JIS 之后,我仍然看到日语文本出现乱码。

最佳答案

您需要自己进行转换。下面的示例代码使用了 node-iconv。

    var Iconv = require('iconv').Iconv;
var request = require('request');
request({
uri: 'http://www.jalan.net/',
encoding: null,
}, function (error, response, body) {
if (!error && response.statusCode == 200) {
body = new Iconv('shift_jis', 'utf-8').convert(body).toString();
console.log(body); // Print the web page.
}
});
  1. encoding: null参数要求request不要将Buffer(字节数组)转换成String还没有。
  2. 我们将此缓冲区传递给 Iconv 以转换为另一个 UTF-8 编码的 Buffer
  3. 现在这个 Buffer 适合转换成字符串。

(顺便说一句,http://www.alc.co.jp 已经切换到 UTF-8,所以我用另一个站点代替。)

关于javascript - Node.js mikeal/请求模块 - 乱码非 utf8 网站 (Shift_JIS),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25623429/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com