CNode

Node.js http模块,http响应头编码的坑

分享
Zzengming00发布于9 年前最后回复9 年前0 回复3788 浏览0 收藏

在做爬虫下载文件时,别人的服务器会把中文文件名返回在http响应头中,结果nodejs乱码了

QQ五笔截图未命名.png

经过一番痛苦的研究,发现是 http.request() 默当成ISO-8859-1来处理了,并且没有设置编码的办法,正确的编码应该是UTF8, 只好尝试恢复

解决办法

		  let filename = location.substring(location.lastIndexOf('=') + 1);
          filename = Buffer.from(filename, 'binary').toString();
查看回复

回复 (0)

暂无回复,成为第一个参与讨论的人。
参与回复
登录后即可参与回复。登录