Javascript 到 csv 导出编码问题 [英] Javascript to csv export encoding issue
本文介绍了Javascript 到 csv 导出编码问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我需要将 javascript 数组导出到 excel 文件并下载它我正在此代码中执行此操作.数据是一个javascript对象数组.
I need to export javascript array to excel file and download it I'm doing it in this code. data is a javascript object array.
var csvContent = "data:text/csv;charset=utf-8,";
data.forEach(function(dataMember, index)
{
dataString = dataMember.join(",");
csvContent += index < data.length ? dataString+ "
" : dataString;
});
var encodedUri = encodeURI(csvContent);
var link = document.createElement("a");
link.setAttribute("href", encodedUri);
link.setAttribute("download", "upload_data" + (new Date()).getTime() + ".csv");
link.click();
所有这些东西都可以正常工作,直到我拥有包含非英语字符(如西班牙语、阿拉伯语或希伯来语)的字符串属性.如何使用所有这些非 ASCII 值进行导出?
All this stuff works fine till I have string properties that have non-english characters, like spanish, arabic or hebrew. How can I make an export with all this non-ASCII values?
推荐答案
您应该在文本的开头添加 UTF-8 BOM,例如:
You should add the UTF-8 BOM at the start of the text, like:
var csvContent = "data:text/csv;charset=utf-8,%EF%BB%BF" + encodeURI(csvContent);
它在 Excel 2013 中对我有用.
It worked for me with Excel 2013.
这篇关于Javascript 到 csv 导出编码问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文