@CodeVision

Ошибка в кодировке текста?

Код
const request = require('request'),
      fs = require('fs'),
      download = require('download');

request('https://litportal.ru/trial/txt/6376244.txt',async (err,res,body)=>{
        //res.headers['set-cookie']= 'xf_csrf=eHdNmSDvH01MoWk8; path=/; secure';
let file = fs.writeFileSync('./test.txt',JSON.stringify(res.body).toString(),'utf-8');
console.log(file);
})


Результат:
622e42a65277a712162934.png
  • Вопрос задан
  • 81 просмотр
Пригласить эксперта
Ответы на вопрос 1
black1277
@black1277
Вольный стрелок
Библиотека request давно устарела. Вместо неё лучше использовать axios.
Вы пытаетесь прочитать удаленный файл в кодировке ANSI и перекодировать в UTF-8.
Для этого вам понадобится библиотека iconv-lite . Установите её:
npm i iconv-lite
Тогда сможете использовать такой код:
const request = require('request'),
  fs = require('fs'),
  iconv = require('iconv-lite');

request({
  url: 'https://litportal.ru/trial/txt/6376244.txt',
  encoding: null,
  body: 'Buffer'
}).pipe(iconv.decodeStream('win1251'))
  .pipe(iconv.encodeStream('utf8'))
  .pipe(fs.createWriteStream('file-in-utf8.txt'));
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы