_知鱼之乐 发表于 2021-5-18 14:53

NodeJS GBK转码UTF-8问题

本帖最后由 _知鱼之乐 于 2021-5-18 14:57 编辑

一、
这是通过谷歌调试工具中看到的相应内容<?xml version="1.0" encoding="gbk"?><ajax><!]></ajax>



二、
当用node fetch请求获取结果时   乱码状态
<?xml version="1.0" encoding="gbk"?><ajax><!]></ajax>


三、
尝试网上的方式转码gb2312 和 gbk 都不能转化
let a = Buffer.from(d)
                var html = iconv.decode(a, 'gb2312');
                console.log("&#128640; ~ data.text ~ html", html, 'end')





请问如何把第二步的转码成UTF-8

fanvalen 发表于 2021-5-18 16:46



欧美的编码

    ASCII码
    ISO-8859-1编码

中文系列编码

    GB2312编码
    GBK编码
    BIG5编码
    GB18030编码
    ANSI 编码

Unicode与UCS
Unicode标准

Unicode编码的不同实现

    UTF-8编码
    UTF-16编码
    UTF-32编码
安保这些编码都试试

_知鱼之乐 发表于 2021-6-10 15:32

    let url = "http://whois.pconline.com.cn/ipJson.jsp";
    fetch(url, {
      method: 'GET',
      // body: null,   
      redirect: 'follow', // set to `manual` to extract redirect headers, `error` to reject redirect
      timeout: 10000,      //ms
    }).then(function (res) {
      console.log("Response Headers ============ ");
      res.headers.forEach(function (v, i, a) {
            console.log(i + " : " + v);
            if (i.toLowerCase() == "content-type") charset = v.split("charset=").reverse();
      });
      return res.buffer();
    }).then(function (res) {
      console.log("Response Body ============ ");
      let body = iconv.decode(Buffer.concat(), 'GBK');
      console.log("&#128640; ~ GetIP ~ body", body)
    });

上面代码可以转,无意之间找到
页: [1]
查看完整版本: NodeJS GBK转码UTF-8问题