Created
March 2, 2017 10:17
-
-
Save struCoder/fac640b70af230a14a0441cdb5694ad3 to your computer and use it in GitHub Desktop.
nodejs csv乱码解决方案
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// https://cnodejs.org/topic/516e0ab46d382773067a5473 | |
var http = require('http'); | |
var url = require('url'); | |
var Iconv = require('iconv').Iconv; | |
var crypto = require('crypto'); | |
var server = http.createServer(function(req, res){ | |
var path = url.parse(req.url).pathname; | |
if(path == '/favicon.ico'){ | |
res.end(''); | |
}else{ | |
var filename = '2012-06-01 至 2012-06-01 数据报表.csv'; | |
var content = "序号,日期,成交商品数,客单价,关注次数,搜索次数,收藏人数\n1, 2012-06-01, 1, 1, 1, 1, 1\n1, 2012-06-02, 1, 1, 1, 1, 1"; | |
//excel2007默认不支持utf-8编码的csv文件 | |
var iconv = new Iconv('UTF-8', 'GBK//IGNORE'); | |
content = iconv.convert(content); | |
res.setHeader('Pragma', 'public'); | |
res.setHeader('Expires', '0'); | |
res.setHeader('Cache-Control', 'no-store, no-cache, must-revalidate, max-age=0'); | |
// res.setHeader('Cache-Control', 'pre-check=0, post-check=0, max-age=0'); | |
// res.setHeader('Content-Transfer-Encoding', 'none'); | |
res.setHeader('Content-Type', 'text/csv; charset=GBK'); | |
filename = iconv.convert(filename).toString('binary'); | |
res.setHeader('Content-Disposition', 'attachment;filename="'+ filename +'"'); | |
res.setHeader('Content-Length', content.length); | |
res.end(content); | |
} | |
}).listen(22222); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment