微搭导出csv不乱码的代码
时间: 2023-09-04 10:13:06 浏览: 121
基于php导出到Excel或CSV的详解(附utf8、gbk 编码转换)
为了确保导出的CSV文件不乱码,你可以在构造CSV内容时,将文本编码为UTF-8格式。以下是一个示例代码,在微搭中导出不乱码的CSV文件:
```javascript
// 导出CSV文件
function exportCSV(data, filename) {
let csvContent = '\uFEFF'; // 添加BOM头部,指定UTF-8编码
// 构造CSV内容
data.forEach((row) => {
let rowString = row.map((value) => {
return '"' + value.replace(/"/g, '""') + '"';
}).join(",");
csvContent += rowString + "\r\n";
});
// 创建并下载文件
let link = document.createElement('a');
link.href = 'data:text/csv;charset=utf-8,' + encodeURIComponent(csvContent);
link.download = filename;
link.style.display = 'none';
document.body.appendChild(link);
link.click();
document.body.removeChild(link);
}
// 示例用法
let data = [
['姓名', '年龄', '性别'],
['张三', '18', '男'],
['李四', '20', '女'],
['王五', '22', '男'],
];
let filename = 'data.csv';
exportCSV(data, filename);
```
在上述代码中,`exportCSV`函数使用 `\uFEFF` 添加BOM头部,指定UTF-8编码。这样可以确保导出的CSV文件在打开时能够正确解析UTF-8编码,避免乱码问题。
请注意,以上示例代码是一个简单的实现,你可以根据自己的需求进行修改和扩展。在微搭中,导出文件可能需要在适当的位置调用该函数,并确保浏览器环境支持该操作。
阅读全文