【发布时间】:2017-09-13 19:20:15
【问题描述】:
我正在尝试使用 JavaScript 下载 CVS 文件。该 CSV 包含法语文本。 我正在使用 blob 创建文件
var blob = new Blob([ csv ], {
type : 'text/csv;charset=utf-8'
});
var csvUrl = window.URL.createObjectURL(blob);
但是当我打开 csv 文件时,它以 ANSII 格式显示内容,因为法语字符被转换为一些未知字符。
但是如果我打开与文本相同的文件,编码是好的(UTF-8)。
Example: Text I am trying to download "Opération"
Text Visible in Excel (.csv) ==> Opération <== With unknown characters
Text if opened in Notpad++ ==> Opération <== Correct UTF-8
如何直接使用 UTF-8 编码打开下载 CSV 文件? 我不希望用户更改 excel 中的任何内容。我想要一些 javascript 格式,以便 excel 可以识别我的所有字符,而不管其编码如何。有没有可能做点什么?
【问题讨论】:
-
听起来像是 excel 问题而不是编程问题。
-
嗨,Kaiido,我不希望用户更改 Excel 中的任何内容。我想要一些 javascript 格式,以便 excel 可以识别我的所有字符,而不管其编码如何。有什么建议吗?
-
不,这是一个 excel 问题。出于某种原因,他们甚至无法对 csv 文件进行 BOM 识别。您将其保存为 utf-8 是正确的,MS 在做废话。不是你的错。无论如何,需要这些字符集的用户可能已经习惯了。
-
Ps:您可以尝试直接保存为 xls 而不是 csv :github.com/SheetJS/js-xlsx
标签: javascript blob export-to-csv