javascript – Node.js mikeal/request module – 乱码非utf8网站(Shift_JIS)

前端之家收集整理的这篇文章主要介绍了javascript – Node.js mikeal/request module – 乱码非utf8网站(Shift_JIS)前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试使用请求模块访问非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,},body) {
      if (!error && response.statusCode == 200) {
        body = new Iconv('shift_jis','utf-8').convert(body).toString();
        console.log(body); // Print the web page.
      }
    });

> encoding:null参数请求不要将Buffer(字节数组)转换为String.
>我们将此缓冲区传递给Iconv,以便转换为另一个UTF-8编码缓冲区.
>现在,这个缓冲区很适合转换为String.

(BTW,http://www.alc.co.jp已切换到UTF-8,所以我用另一个网站替换.)

原文链接:https://www.f2er.com/js/157026.html

猜你在找的JavaScript相关文章