Node.js http模块,http响应头编码的坑
发布于 7 年前 作者 zengming00 3334 次浏览 来自 分享

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

QQ五笔截图未命名.png

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

解决办法

		  let filename = location.substring(location.lastIndexOf('=') + 1);
          filename = Buffer.from(filename, 'binary').toString();
回到顶部