Spring MVC和Thymeleaf Polish签名编码

时间:2016-07-20 16:02:55

标签: spring model-view-controller character-encoding

首先,我知道有很多这样的话题,但我正在寻找stackoverflow的解决方案,我无法提出解决方案。我的问题是Spring MVC中的charset编码。在我的情况下,我在谈论波兰语,如ę,ó,ż等。

我已经尝试了一切,从CharacterEncodingFilter开始,在maven pom.xml中设置UTF-8编码,在ThymeleafViewResolver和TemplateResolver中设置UTF-8编码和Content-type也是UTF-8。

我无法设法使用抛光标志。 重要的是,我的html页面包括波兰标志,但当我以post方式发送表单数据时,它会将utf-8标志转换为ISO-8859-1。

所以当我发送这样的数据时: 的日拉尔杜夫

我在Controller中的请求数据如下: :一种»yrardów

除了在我的控制器中的每个请求上转换符号之外,还有其他解决方案吗?

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

提前致谢,我希望有人能提供解决方案。

@UP 我还在tomcat server.xml文件中设置了URIEncoding,但它没有用。

  <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" />

1 个答案:

答案 0 :(得分: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 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>

不合适。你添加你的代码并评论我。