fix(accounting): UTF-8 BOM on the ledger export so Banana reads it correctly
The /ledger/export route sent the file without a BOM, so Banana (and Excel)
decoded it as the local charset — the '·' description separator and any umlauts
imported as mojibake ('·'). Prepend the EF BB BF BOM like the tax-report CSV
route already does.
This commit is contained in:
@@ -121,7 +121,13 @@ router.get('/export', requirePermission('bills.view'),
|
|||||||
});
|
});
|
||||||
res.setHeader('Content-Type', contentType);
|
res.setHeader('Content-Type', contentType);
|
||||||
res.setHeader('Content-Disposition', `attachment; filename="${filename}"`);
|
res.setHeader('Content-Disposition', `attachment; filename="${filename}"`);
|
||||||
return res.send(content);
|
// UTF-8 BOM (EF BB BF) so Banana / Excel detect the encoding — without it
|
||||||
|
// the file is read as the local charset and "·" / umlauts become mojibake
|
||||||
|
// ("·"). Mirrors the tax-report CSV route.
|
||||||
|
const bom = Buffer.from([0xEF, 0xBB, 0xBF]);
|
||||||
|
const body = Buffer.concat([bom, Buffer.from(content, 'utf8')]);
|
||||||
|
res.setHeader('Content-Length', String(body.length));
|
||||||
|
return res.end(body);
|
||||||
}));
|
}));
|
||||||
|
|
||||||
module.exports = router;
|
module.exports = router;
|
||||||
|
|||||||
Reference in New Issue
Block a user