Кодирование и декодирование html символов
Моя кодировка сервера Tomcat server.xml и web.xml и jsp была установлена в "UTF-8". Когда html-форма публикует специальные символы, такие как Ď, тогда java-код использует StringEscapeUtils.unescapeHtml4(str) специально для сохранения этого специального символа Ď в БД. Когда я получаю значение из БД, распечатывается ли система и в теге jsp в обоих местах отображается символ? (знак вопроса). С другой записью "символ € не определен" это решило проблему рендеринга jsp. Но системный вывод tomcat/ консоль все еще показывают? (вопросительный знак)
Спасибо.
1 ответ
Хорошо, похоже, вы подтвердили, что данные сохраняются и поддерживаются надлежащим образом на уровне базы данных. Я бы сейчас попытался добавить фильтр сервлетов, чтобы ваше веб-приложение распоряжалось обработкой всех запросов и ответов в кодировке UTF-8.
Определите фильтр набора символов следующим образом:
<filter-name>Set Character Encoding</filter-name>
<filter-class>org.apache.catalina.filters.SetCharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
</filter>
<!-- Define filter mappings for the defined filters -->
<filter-mapping>
<filter-name>Set Character Encoding</filter-name>
<servlet-name>action</servlet-name>
</filter-mapping>