Почему русский текст из api-запроса не отображается, хотя при выводе русских букв с помощью System.out.println всё работает?

Рейтинг: 0Ответов: 2Опубликовано: 04.07.2023

По какой-то причине не отображаются названия тестов на кириллице в консоли, так же при получении ответа от api-запроса прилетают кракозябры:

Скриншот проблемы

При этом весь остальной русский текст в консоли, будь то System.out.println или логирование, отображается верно.

Что я пробовал делать:

  1. Добавлял строки -Dconsole.encoding=UTF-8 и -Dfile.encoding=UTF-8 в файл idea64.exe.vmoptions .
  2. Добавлял строки -Dconsole.encoding=UTF-8 и -Dfile.encoding=UTF-8 в IntelijIdea по пути File->Settings->Editor->File encodings
  3. вводил chcp в консоль (пишет 866).
  4. В настройках самой IntelijIdea пробовал ставить разные кодировки (UTF-8, windows-1251)

Ответы

▲ 1

Насколько я понимаю, тут дело не в Intellij Idea, а в API, который возвращает ответ, ведь даже ошибка звучит как:

excepted: <Операция выполнена успешно.> but was: <текст со сбитой кодировкой>

Проверьте данный запрос через другие среды. Например, Postman

Если действительно проблема в API, попробуйте добавить в заголовок "Content-Type" конкретную кодировку. utf-8 или windows-1251. Выглядеть это будет примерно так: Content-Type: text/html; charset=utf-8

▲ 0

У меня была аналогичная проблема. В моем случае оказалось, что версия java и текущая версия IDE плохо совместимы. Помог переход на java 17.