|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
我有份数据 ,是保存在浏览器的缓存中的; 想实现通过一个按钮 导出成csv ; 现在导出来的文件中, 如果 有中文时, 会出现中文乱码的情况, 这怎么解决? 试过了 GBK, GB2312, UTF-8, 都是乱码;
代码如下
- $("#export").click(function(){
- var dataArray = JSON.parse(sessionStorage.getItem('cachedData'))
- var csvContent = $.csv.fromObjects(dataArray);
- var blob = new Blob([csvContent], { type: 'text/csv;charset=GBK;' });
- var link = document.createElement('a');
- var url = URL.createObjectURL(blob);
- link.setAttribute('href', url);
- link.setAttribute('download', 'output.csv');
- link.style.visibility = 'hidden';
- document.body.appendChild(link);
- link.click();
- document.body.removeChild(link);
- })
复制代码
一般来说,导出UTF8就不会有问题(除非对方浏览器或解码器不支持)
使用UTF-8编码导出CSV文件的示例代码,其中添加了一个BOM(Byte Order Mark,字节顺序标记)。
这有助于Excel这样的程序正确识别文件编码:
- $("#export").click(function() {
- var dataArray = JSON.parse(sessionStorage.getItem('cachedData'))
- var csvContent = "\uFEFF"; // UTF-8的BOM
- csvContent += $.csv.fromObjects(dataArray);
- var blob = new Blob([csvContent], { type: 'text/csv;charset=utf-8;' });
- var link = document.createElement('a');
- var url = URL.createObjectURL(blob);
- link.setAttribute('href', url);
- link.setAttribute('download', 'output.csv');
- link.style.visibility = 'hidden';
- document.body.appendChild(link);
- link.click();
- document.body.removeChild(link);
- });
复制代码
|
|