Непроизвольное преобразование строк из ISO-8859-1 в UTF-8

1

У меня есть файл.jsp, который должен помещать текст "Français" на страницу браузера. Текст исходит из этого небольшого фрагмента кода:

<%= v.getDescription() %>

Метод возвращает строку, которая поступает из базы данных, где она хранится в UTF-8. В отладчике IntelliJ объект v выглядит нормально, но затем в браузере текст искажается: "Franзais", а страница отображается как UTF-8, вот что говорят заголовки, и я проверил сохраненный источник страницы, Из того, что я вижу, какая-то темная сила принимает мой текст и преобразует его из ISO-8859-1 в UTF-8, так как "ç" в UTF-8 оказывается "ç" в символах ISO-8859-1. Смешно, что когда я выставляю локальную переменную, текст получается прекрасным, этот бит кода

<% String myDescription="Français"; %>
<%= myDescription %>

прекрасно "французов". Я ищу способ, с помощью которого данные из v.getDescription() передаются без дополнительных преобразований, так как это нормально с самого начала.

  • 0
    Несколько вопросов для вас. Откуда берется значение описания, когда вы не усердно его кодируете? База данных? Какая кодировка по умолчанию вашего jvm? Попробуйте запустить контейнер сервлетов с опцией jvm -Dfile.encoding=ISO-8859-1
  • 0
    «Описание» происходит из базы данных, где оно хранилось в UTF-8. Я использую опцию JVM "-Dfile.encoding = UTF-8"
Теги:
jsp
intellij-idea
utf-8

1 ответ

0

Проверьте кодировку для всего проекта. Я имею в виду, если вы работаете с IDE, проверьте, есть ли UTF-8 по умолчанию.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню