Список кодировок , что узел поддерживает изначально является довольно коротким:
- ASCII
- base64
- наговор
- ucs2 / ucs2 / UTF16LE / UTF16LE
- utf8 / utf8
- двоичный / латинский (ISO8859-1, латинский только в узле 6.4.0+)
Если вы используете более старую версию, чем 6.4.0, или не хотите работать с кодировками, отличными от Unicode, вы можете перекодировать строку:
Используйте iconv-lite для перекодирования файлов:
var iconvlite = require('iconv-lite');
var fs = require('fs');
function readFileSync_encoding(filename, encoding) {
var content = fs.readFileSync(filename);
return iconvlite.decode(content, encoding);
}
Или используйте 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');
}