Писал на локалке (Windows 8.1) файл сохраняет со всеми знаками. После переноса на хостинг (Centos 7) стал сохранять с "кракозябрами"
Код:
function updatePrice(body, startTimer){
var items = JSON.parse(fs.readFileSync('items.json', 'utf8'));
for (index = 0; index < body.items.length; ++index) {
var price = body.items[index].price;
var name = body.items[index].name;
var idItem = find(items, name);
if(~idItem){
items[idItem].jar = price;
items[idItem].ujar = new Date();
}
}
var items = JSON.stringify(items,"",4);
fs.writeFileSync('prices.json', items);
var elapsed = new Date().getTime() - startTimer;
logger.trace("Обновлено "+index+" предметов");
logger.trace("Время выполнения: "+elapsed+" мс.\n");
}
Название в items.json
StatTrak\u2122 AK-47 | Aquamarine Revenge (Battle-Scarred)
Название на выоходе в prices.json
StatTrakâ„¢ AK-47 | Aquamarine Revenge (Factory New)
Пробовал указывать разные кодировки. Гугл предлагает просто заменять эти символы. Полагаю, это из-за операционный системы.
Версия ноды на локалке 6.9.1, на хостинге 6.11.0