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

时间: 2024-12-19 19:54:01

NodeJS CSV导出文件名和内容乱码解决的相关文章

myeclipse+javamail发送邮件邮件内容乱码解决

一.问题背景: 使用myeclipse+javax.mail.jar开发邮件接口 二.问题描述: 收到的邮件内容如下,无发件人无主题内容看似乱码 (无主题) 发件人: <> (由 [email protected] 代发) 时   间:2015年8月19日(星期三) 晚上7:41 ------=_Part_0_161797574.1439984459286Content-Type: text/html; charset=utf-8Content-Transfer-Encoding: base6

关于java web 项目中文日志以及文件中文内容乱码解决

1.查看项目编码格式与日志文件格式是否一致,如统一UTF-8 2.使用 Linux命令 locale 查看Linux系统编码 保证跟项目编码一致. 修改Linux系统编码 vim /etc/sysconfig/i18n 2.首先查看Tomcat启动脚本catalina.sh 是否有 JAVA_OPTS="-Dfile.encoding=UTF8 -Dsun.jnu.encoding=UTF8"   没有添加该启动参数. 重启项目,查看日志或生成文件 一切OK! 原文地址:https:/

php生成的中文文件名会变成乱码,应该这样解决

现在php有很多类库,会生成文件,比如生成zip文件,生成二维码等等.这些类库用起来很爽,但是一旦生成带有中文的文件名,极有可能出现乱码. 问题:生成的中文文件名会变成乱码 解决:使用函数:iconv().rename() 生成文件名时,直接生成英文名,比如:a.zip.c.zip等等.然后,使用php的移动文件的函数rename即可, rename('a.zip',iconv('UTF-8', 'GB2312//IGNORE', '中文a.zip')); ignore的意思是忽略转换时的错误,

利用php CI force_download($filename, $data) 下载.csv 文件解决文件名乱码,文件内容乱码

利用php CI force_download($filename, $data) 下载.csv 文件解决文件名乱码,文件内容乱码.做了很久终于知道了很好的解决方案. 1.加载辅助函数 $this->load->helper('download'); //下载辅助函数 $this->load->helper('string'); //字符编码转换辅助翻书 2.force_download($filename, $data)通过它的代码可以知道$data 必须是字符串,如果不是字符串

php 多语言(UTF-8编码)导出Excel、CSV乱码解决办法之导出UTF-8编码的Excel、CSV

转自:  https://www.cnblogs.com/kclteam/p/5278926.html 新项目,大概情况是这样的:可能存在多国.不同语种使用者,比喻有中文.繁体中文,韩文.日本等等,开发时选择了UTF-8编码,开发顺利,没有问题.昨天做了一个csv导出功能,导出的东西完全乱了: 设置mb_convert_encoding($content,"gb2312","UTF-8")的时候中文正常 设置mb_convert_encoding($content,

golang导出csv乱码解决方法

golang导出csv乱码解决方法: 在csv文件的开头写入 UTF-8 BOM // 创建文件 dstf, err := os.Create(``"./data/" + fileName) defer dstf.Close() if err != nil { beego.Error(``"create file error: " + err.Error()) return ""``, err } `dstf.WriteString(``&quo

上传文件时并顺便将文件压缩时出现文件名乱码以及文件内容乱码解决方案

1.文件名乱码 这是因为压缩文件的包(也就是类)的问题: import java.util.zip.ZipOutputStream; 这个引入的包对汉语乱码,对数字和字母没事: 解决: 应该引入此包: import org.apache.tools.zip.ZipOutputStream; import org.apache.tools.zip.ZipEntry;import java.nio.charset.Charset; 2.文件内容乱码: outputStream.putNextEntr

PHP使用文件流下载文件方法(附:解决下载文件内容乱码问题)

记得高中时候做过游戏私服,那时候的游戏主页是用PHP写的,因为文件很固定,客户端,登陆器和一些小工具,文件数目也不是很多,所以都是直接把下载链接写死的,直接链接到本地服务器的文件目录,今天QQ群有个朋友突然问我用文件流做PHP下载功能,顺手写了个小Demo,代码很简单,注释也全,直接上代码吧~ 1.flush — 刷新输出缓冲 2.ob_clean — 清空(擦掉)输出缓冲区 此函数用来丢弃输出缓冲区中的内容. 此函数不会销毁输出缓冲区,而像 ob_end_clean() 函数会销毁输出缓冲区.

asp.net 导出excel 中文乱码解决方法 (转)

用我转载的上一篇文章 Asp.net中把DataTable或DataGrid导出为Excel 导出的文档,中文有乱码现象,其实要解决中文乱码很简单,设置一下字符集.如下: // 设置编码和附件格式 curContext.Response.ContentType = "application/vnd.ms-excel"; curContext.Response.ContentEncoding = System.Text.Encoding.GetEncoding("gb2312&