Node fs.writeFileSync 操作中 UTF-8 格式 BOM 缺失
阿新 • • 發佈:2021-01-09
技術標籤:I-nodenodejswriteFileSyncUTF-8BOM亂碼
使用 fs.writeFileSync 生成的 csv 檔案是 UTF-8 不帶 BOM 格式的,導致用 excel 開啟時候不識別為 UTF-8 格式,所以亂碼。
file.js
const { appendFileSync } = require('fs'); appendFileSync('test.csv', '追加的資料', { encoding: 'utf8', mode: 0o666, flag: 'a', }, (err) => { if (err) throw err; });
執行命令:node file.js
解決辦法:在檔案開關加上 \uFEFF 即可
file.js
const { appendFileSync } = require('fs');
appendFileSync('test.csv', '\uFEFF追加的資料', {
encoding: 'utf8',
mode: 0o666,
flag: 'a',
}, (err) => {
if (err) throw err;
});
刪除 test.csv 檔案,執行命令:node file.js