我有一个CSV文件,我用Javascript生成 . 我将编码设置为utf-8,在将数据和URI编码为输出之前附加数据和URI,如下所示:
const csvContent =
data:text/csv;charset=utf-8,${csvData}
const encodedUri = encodeURI(csvContent)
在标准(.e.g LibreOffice)强制执行UTF-8编码的应用程序中打开文件时,文件以非ASCII文本,法语和阿拉伯语为例打开 . 但是,当我尝试在Excel中打开文件时,据我所知,默认情况下使用的是Windows-1252,输出可以理解地显示垃圾文本 .
我的问题是;无论如何强制Excel以UTF-8打开文件而无需用户手动更改其编码?我处在一个我不能指望用户这样做的位置 .
1 回答
您可以在文件的开头包含UTF-8 BOM(0xEF,0xBB,0xBF) . 这将使微软软件将其识别为UTF-8 .
见:https://en.wikipedia.org/wiki/Byte_order_mark#UTF-8