Node.js http模块,http响应头编码的坑
在做爬虫下载文件时,别人的服务器会把中文文件名返回在http响应头中,结果nodejs乱码了
经过一番痛苦的研究,发现是 http.request() 默当成ISO-8859-1来处理了,并且没有设置编码的办法,正确的编码应该是UTF8, 只好尝试恢复
解决办法
let filename = location.substring(location.lastIndexOf('=') + 1);
filename = Buffer.from(filename, 'binary').toString();