2016-07-20 4 views
0

Прежде всего, я знаю, что есть такая тема, как моя, но я искал решение в stackoverflow, и я не мог найти решение. Моя проблема заключается в кодировке charset в Spring MVC. В моем случае я говорю о польских письмах, таких как ę, ó, ż и т. Д.Spring MVC и Thymeleaf Польские знаки кодировки

Я пробовал все, начиная с CharacterEncodingFilter, устанавливая кодировку UTF-8 в maven pom.xml, устанавливая кодировку UTF-8 и Content тип также UTF-8 в ThymeleafViewResolver и TemplateResolver.

Я не могу заставить его работать с польскими знаками. Важно то, что мои html-страницы содержат польский знак, но когда я отправил данные формы в методе post, конечно, он переводит знаки utf-8 в ISO-8859-1.

Так что, когда я отправить данные, как это: Жирардова

I данные из запроса в контроллере, как этот один: Å »yrardów

Есть ли какое-либо решение, кроме преобразования знаков на каждый запрос в моем контроллере?

new String(ppForm.getCity().getBytes("ISO-8859-1"), "utf-8") 

Спасибо заранее, я надеюсь, что кто-то может предоставить решение.

@UP Я также установил URIEncoding в файле tomcat server.xml, но это не сработало.

<Connector port="8080" protocol="HTTP/1.1" 
      connectionTimeout="20000" 
      redirectPort="8443" 
      URIEncoding="UTF-8" /> 

    <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" URIEncoding="UTF-8" /> 

ответ

0

попробовать так:

(web.xml)

<!-- encoding filter --> 
<filter> 
    <filter-name>encodingFilter</filter-name> 
    <filter-class> 
     org.springframework.web.filter.CharacterEncodingFilter 
</filter-class> 

<init-param> 
     <param-name>encoding</param-name> 
     <param-value>UTF-8</param-value> 
    </init-param> 
</filter> 

<filter-mapping> 
    <filter-name>encodingFilter</filter-name> 
    <url-pattern>/*</url-pattern> 
</filter-mapping> 

(thymeleaf настройки)

<!-- thymeleaf settings --> 
<beans:bean id="templateResolver" 
    class="org.thymeleaf.templateresolver.ServletContextTemplateResolver"> 
    <beans:property name="prefix" value="/WEB-INF/views/" /> 
    <beans:property name="suffix" value=".html" /> 
    <beans:property name="templateMode" value="HTML5" /> 
    <beans:property name="cacheable" value="false"></beans:property> 
    <beans:property name="characterEncoding" value="UTF-8"></beans:property> 
    <beans:property name="order"> 
     <beans:value>1</beans:value> 
    </beans:property> 
</beans:bean> 

<beans:bean id="templateEngine" class="org.thymeleaf.spring4.SpringTemplateEngine"> 
    <beans:property name="templateResolver" ref="templateResolver" /> 
    <beans:property name="additionalDialects"> 
     <beans:set> 
      <beans:bean 
       class="org.thymeleaf.extras.springsecurity4.dialect.SpringSecurityDialect"></beans:bean> 
     </beans:set> 
    </beans:property> 
</beans:bean> 

<beans:bean class="org.thymeleaf.spring4.view.ThymeleafViewResolver"> 
    <beans:property name="templateEngine" ref="templateEngine" /> 
    <beans:property name="characterEncoding" value="UTF-8"></beans:property> 
</beans:bean> 

Don `T работает. вы добавляете свой код и комментируете меня.

+0

Unfortunatelly Я использую java config вместо xml :( – allowMeWeb

+0

Покажите мне свои настройки конфигурации java. – Byeon0gam

Смежные вопросы