当前位置: 首页 > article >正文

Fetch获取内容乱码问题

使用 Fetch 获取 gbk 编码的网页时,发现返回的内容乱码了

fetch("url")
  .then(res => res.text())
  .then(text => console.log(text)); 

添加 charset 请求头也未能解决问题:

const headers = new Headers();
headers.append("Content-Type", "text/plain; charset=gbk");

fetch("url", headers)
  .then(res => res.text())
  .then(text => console.log(text)); 

查看了文档,原来是 Response.text() 方法始终会以 UTF-8 来进行解码。

我们可以通过 TextDecoder 来使用特定编码格式进行解码:

fetch("url")
  .then(res => res.arrayBuffer())
  .then(buffer => {
    const decoder = new TextDecoder("gbk");
    const text = decoder.decode(buffer);
    console.log(text);
  }); 


http://www.kler.cn/news/340863.html

相关文章:

  • 【python机器学习】线性回归 拟合 欠拟合与过拟合 以及波士顿房价预估案例
  • Spring Boot 自动配置原理
  • LeetCode hot100---滑动窗口专题(C++语言)
  • NUKE 15有哪些新的改进功能?影视后期特效合成NUKE 15 安装包分享 【Mac/win】
  • 3D看车如何实现?有哪些功能特点和优势?
  • Clio——麻省理工学院增强机器人场景理解算法
  • 【SQL】换座位
  • 什么是物联网nb水表?
  • MSTP、MPLS和SD-WAN组网技术对比
  • Java重修笔记 第六十三天 坦克大战(十三)IO 流 - ObjectInputStream 和 ObjectOutputStream、对处理流的细节整理
  • 基于hadoop和springboot的高校固定资产管理系统的设计与实现
  • 搭建企业域名服务器案例
  • 【VUE】虚拟DOM真的比真实DOM性能好吗
  • 【FastAdmin】全栈视角下的页面跳转实现:从原生html、javascrpt、php技术到jQuery、FastAdmin框架
  • spark的rdd介绍和应用
  • 图像处理(一)——CMC特刊推荐
  • Win11 23H2 10月正式版:22631.4317 镜像免费下载!
  • C++进阶——哈希
  • springboot-网站开发-如何规避和拒绝用户输入的空字符串
  • 深入解析 Baichuan 模型:架构、训练与实际应用