Как я могу получить значение в utf-8 от axios получить iso-8859-1 в node.js - PullRequest
0 голосов
/ 17 октября 2018

У меня есть следующий код:

const notifications = await axios.get(url)
const ctype = notifications.headers["content-type"];

ctype получает "text / json; charset = iso-8859-1"

И моя строка такая: "'Ol� Матеус, est� pendente. ', "

Как я могу декодировать из iso-8859-1 в utf-8, не получая эти ошибки?

Спасибо

1 Ответ

0 голосов
/ 17 октября 2018

text/json; charset=iso-8859-1 не является допустимым стандартным типом контента.text/json неверно, и JSON должен быть UTF-8.

Так что лучший способ обойти это хотя бы на сервере, это сначала получить буфер (поддерживает ли axios возвращающие буферы?), Преобразовав егов строку UTF-8 (единственную допустимую строку Javascript) и только после этого введите JSON.parse.

Псевдокод:

// be warned that I don't know axios, I assume this is possible but it's
// not the right syntax, i just made it up.
const notificationsBuffer = await axios.get(url, {return: 'buffer'});

// Once you have the buffer, this line _should_ be correct.
const notifications = JSON.parse(notificationBuffer.toString('ISO-8859-1'));
...