Lista kodowań że węzeł obsługuje natywnie jest dość krótka:
- ascii
- base64
- klątwa
- ucs2 / ucs-2 / utf16le / utf-16le
- utf8 / utf-8
- binarny / latin1 (ISO8859-1, latin1 tylko w węźle 6.4.0+)
Jeśli używasz starszej wersji niż 6.4.0 lub nie chcesz zajmować się kodowaniem innym niż Unicode, możesz przekodować ciąg:
Użyj iconv-lite do przekodowania plików:
var iconvlite = require('iconv-lite');
var fs = require('fs');
function readFileSync_encoding(filename, encoding) {
var content = fs.readFileSync(filename);
return iconvlite.decode(content, encoding);
}
Alternatywnie użyj iconv :
var Iconv = require('iconv').Iconv;
var fs = require('fs');
function readFileSync_encoding(filename, encoding) {
var content = fs.readFileSync(filename);
var iconv = new Iconv(encoding, 'UTF-8');
var buffer = iconv.convert(content);
return buffer.toString('utf8');
}