解决 Node.js 导出的 csv 文件在 Excel 打开中文乱码的问题

在项目中有需要导出 CSV 文件,用 Node.js 生成的 CSV 在 Excel 中打开中文会乱码。查阅资料后得知需要给导出的文件添加 BOM。

const filename = 'export.csv';
ctx.body = `\ufeff${csv}`; // add utf-8 bom to string
ctx.set('content-disposition', `attachment; filename=${filename}`);
ctx.set('content-type', 'text/csv');

特殊字符 (JavaScript) - MSDN