NodeJS CSV导出文件名和内容乱码解决

// 解决不同浏览器下载文件名称乱码
var userAgent = (req.headers[‘user-agent‘]||‘‘).toLowerCase();
res.set(‘Content-Type‘, ‘application/octet-stream;charset=utf-8‘);

if(userAgent.indexOf(‘msie‘) >= 0 || userAgent.indexOf(‘chrome‘) >= 0) {
    res.setHeader(‘Content-Disposition‘, ‘attachment; filename=‘ + encodeURIComponent(filename));
} else if(userAgent.indexOf(‘firefox‘) >= 0) {
    res.setHeader(‘Content-Disposition‘, ‘attachment; filename*="utf8\‘\‘‘ + encodeURIComponent(filename)+‘"‘);
} else {
    res.setHeader(‘Content-Disposition‘, ‘attachment; filename=‘ + new Buffer(filename).toString(‘binary‘));
}

// 解决excel打开内容乱码
var dataBuffer = Buffer.concat([new Buffer(‘\xEF\xBB\xBF‘, ‘binary‘), new Buffer(data)]);
res.send(dataBuffer);

原文地址:http://imziv.com/blog/article/read.htm?id=55

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。