UTF-8 в Spring MVC, проблема с формами FORM

У меня это в web.xml

 encoding-filter  org.springframework.web.filter.CharacterEncodingFilter   encoding UTF-8   forceEncoding true    encoding-filter /*  

и в верхней части file.jsp у меня есть следующее:

  

в :

  

и символы, отличные от латинского-1, установленные из FORM с методом POST, все еще не верны.

Я решил это.

Этот фильтр в web.xml должен быть первым фильтром в файле.

У меня была схожая проблема. Когда я отправляю форму и сохраняю ее в БД, она вставляется как ?????? но если я вручную вставляю в БД, используя MySQL WorkBench, он отлично работает.

Я думал, что проблема заключается только в кодировании HTTP-запроса. Итак, я почти выполнил все рекомендации, которые я нашел по этой проблеме, например change server.xml , добавив фильтр в web.xml и изменив настройки в файле конфигурации MySQL my.ini, но это не решит мою проблему.

Проблема заключалась в двух вещах: кодировании HTTP-запроса и соединении JDBC . По какой-то причине MySQL принимает данные как ISO-8859-1, а не как UTF-8.

Итак, я вернул все изменения, и я сделал ниже двух изменений: измените Tomcat server.xml, как показано ниже:

  

Измените свойства подключения Jdbc следующим образом:

 jdbc.driver_class=com.mysql.jdbc.Driver jdbc.url=jdbc:mysql://localhost/dB_Name?useUnicode=yes&characterEncoding=UTF-8 jdbc.username=root jdbc.password 

Ключ решения здесь добавляет useUnicode = yes & characterEncoding = UTF-8

Добавьте фильтр, подобный @jbb, в ** web.xml : **

  encoding-filter  org.springframework.web.filter.CharacterEncodingFilter   encoding UTF-8   forceEncoding true    encoding-filter /*  

Если используется Thymeleaf, измените viewResolver и TemplateResolver, как показано ниже:

 viewResolver.setCharacterEncoding("UTF-8"); viewResolver.setContentType("text/html; charset=UTF-8"); templateResolver.setCharacterEncoding("UTF-8"); 

Обратите внимание, что это работает только для запросов POST . Если вы хотите кодировать также запросы GET (т.е. ссылки с ), вам придется изменить файл server.xml сервера, добавив в URIEncoding="UTF-8" useBodyEncodingForURI="true" атрибуты в .

См .: http://wiki.apache.org/tomcat/FAQ/CharacterEncoding

Interesting Posts

Включить объект до десятичного? (с нулевым числом)

Как запустить Visual Studio в качестве администратора по умолчанию

Как рассчитать дату с номера недели ISO8601 в Java

Как исправить: обработчик «PageHandlerFactory-Integrated» имеет плохой модуль «ManagedPipelineHandler» в своем списке модhive

Добавление локальных файлов .aar в сборку Gradle с использованием «flatDirs» не работает

WPF: Есть ли способ переопределить часть ControlTemplate без переопределения всего стиля?

Как определить примитивный тип примитивной переменной?

Распечатайте исходное имя файла и linenumber в C #

Как использовать 3 монитора

Преобразование многих утверждений «если еще» в более чистый подход

Как заполнить субдокумент в мангусте после его создания?

MySQL Создание таблиц с внешними ключами, дающих errno: 150

Можете ли вы написать объектно-ориентированный код в C?

Разработка iPhone – в чем разница между разработкой и распределением?

Как я могу открыть 32-разрядный администратор источника данных ODBC в 64-разрядной версии Windows 7?

Давайте будем гением компьютера.