JavaScript Fetch: символы с проблемами кодировки - PullRequest
0 голосов
/ 21 марта 2019

Я пытаюсь использовать Fetch для вывода некоторых данных на экран, однако некоторые символы имеют странный знак which, который, как мне кажется, как-то связан с преобразованием специальных символов.

При отладке нана стороне сервера, или если я вызываю сервлет в моем браузере, проблема не возникает, поэтому я считаю, что проблема связана с моим JavaScript.Смотрите код ниже:

var myHeaders = new Headers();
myHeaders.append('Content-Type','text/plain; charset=UTF-8');

fetch('getrastreiojadlog?cod=10082551688295', myHeaders)
        .then(function (response) {
            return response.text();
        })
        .then(function (resp) {
            console.log(resp);
        });

Я думаю, что это, возможно, какая-то деталь, но мне не удалось выяснить, что происходит.Так что любые советы приветствуются Thx

Ответы [ 2 ]

0 голосов
/ 21 марта 2019

Как выяснилось, проблема заключалась в том, как сервлет обслуживал данные, не сообщая явно тип ответа в ответе. Добавив следующую строку в сервлет Java:

response.setContentType("text/html;charset=UTF-8");

возможно получить символы в нужном формате.

0 голосов
/ 21 марта 2019

Возможно, ваш сервер не возвращает кодированный в utf-8 ответ, попробуйте найти, какая кодировка используется, а затем измените его в заголовках вызовов.Может быть, ISO-8859-1:

myHeaders.append('Content-Type','text/plain; charset=ISO-8859-1');
...