使用CasperJS将法语字符写入CSV文件,但未正确显示

Writing french characters to CSV file with CasperJS, but not displayed correctly

本文关键字:显示 文件 CSV CasperJS 法语 字符 使用      更新时间:2023-10-28

我使用的是CasperJS,但这些都与web抓取部分无关。

我正在将一个字符串(包含法语字符)打印到csv中。当我稍后打开csv文件时,所有的法语字符都无法正确显示。

var fs = require('fs');
var content = 'ë,è,é';
var path = 'target.csv';
fs.write(path, content, 'w');

这最终被写为�

有没有办法,在JS脚本中,我可以更改CSV的编码?我知道记事本的保存技巧,但它需要自动化。如果没有,是否可以通过命令行执行?

Excel(至少我的版本)需要字节顺序标记才能正确显示CSV文件中的UTF-8内容。您可以通过在内容前面使用JavaScript中的'uFEFF unicode字符来实现这一点。

为了简单起见,以下是PhantomJS中的完整脚本(CasperJS的工作方式与此相同,因为它在PhantomJS中运行):

var fs = require('fs');
var content = 'ë,è,é';
var path = 'data.csv';
fs.write(path, "'uFEFF" + content, 'w');
phantom.exit();

请确保脚本文件本身也是UTF-8编码的。