首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >nodejs中iconv-lite解决html乱码问题

nodejs中iconv-lite解决html乱码问题

作者头像
biaoblog.cn 个人博客
发布2026-01-28 09:41:57
发布2026-01-28 09:41:57
1340
举报

发生的原因:

一些网页的html的编码格式是utf-8/gbk/gb2312

通过网页的responese header Content-Type字段

当然也可以通过html中head中的meta标签 可以点定义编码格式

但是正常通过fetch网页html的时候 一般都会

代码语言:javascript
复制
fetch("xxx").then(res => res.text()).then(html => {
    console.log("html_", html);
})

text() 这个操作在浏览器中可以根据请求返回头中的content-type进行动态编码(utf-8,gbk,db2312)

但是在node环境中只能按照utf-8进行编码

所以对gbk编码格式的html 进行utf-8进行解析必然出现乱码的情况

所以在node环境中解决方案就是通过:

代码语言:javascript
复制
arraybuffer + iconv.decode(charset)

下载iconv-lite

代码语言:javascript
复制
npm install iconv-lite

使用

代码语言:javascript
复制
fetch("xxx").then(res => res.arrayBuffer()).then(buffer => {
         //指定的解析编码
          const html = iconv.decode(Buffer.from(buffer), "gbk"); // or "gb2312"
})
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 发生的原因:
  • 下载iconv-lite
  • 使用
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档