我正在尝试写入文件:
try {
fs.writeFile(filePath as string, JSON.stringify(data), 'utf8', (error: any) => {
if (error) {
logger.error(`[JSON] Error while saving file : ${error}`);
}
logger.info('The file has been saved!');
});
} catch (error) {
logger.error(`[JSON] Error while saving file : ${error}`);
}
其中有数据:
var data = [{label:'Egyptian Pound £', value: 'E£'}, {"label":"Albanian Lek-AL","value":"AL"}];
当我写入文件时,字符另存为{label: Egyptian Pound E�, value: E�}
我不确定为什么会这样。根据文档,默认情况下,节点支持UTF-8编码
我发现发生这种情况的唯一原因是,如果您的JS文件是未使用UTF8编码的文件。
确保JS文件以UTF8编码保存,因此脚本中的字符串可以保存为相应的编码。