不能将英镑或欧元符号写入CSV文件 – Nodejs

我正在写一个CSV文件,其中包含英国英镑和欧元符号的文本,但是当我在Excel中打开文件时,我看到一些相当奇怪的行为。 我在英镑之前看到一些奇怪的A型符号,而不是欧元符号。 我想这可能是因为Excel不喜欢UTF8编码的文件。

fs.writeFileAsync("the-file.csv", text-containing-foreing-currency, "utf8"); 

有没有人知道一种方法来解决这个问题,而创build文件? 我不希望用户在下载文件后不得不对excel做任何事情,我只是希望他们能够打开文件并看到正确的符号。

如果用文本编辑器打开它,应该看到正确的字符,节点不应该有任何问题。

问题是与Excel打开UTF8 CSV文件。 默认情况下,它采用ANSI编码,所以如果文件是UTF8,则会对字符进行置乱。 您可以使用文本导入向导正确打开文件。 一般来说这是excel的限制。 最适合您的解决方法取决于您的操作系统和Excel版本。 这是一个深入讨论的话题,这里有一些很好的内容:

是否可以强制Excel自动识别UTF-8 CSV文件?

哪种编码可以在Mac和Windows上使用Excel正确打开CSV文件?