Pus*_*kar 12 ajax jquery spring-mvc internationalization
我正在使用jQuery AJAX将表单提交给支持的Spring MVC控制器.我在jsp上设置编码.在我的Firebug请求标题中,我看到 -
Accept-Charset ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive 115
Connection keep-alive
Content-Type application/x-www-form-urlencoded; charset=UTF-8
X-Requested-With XMLHttpRequest
Run Code Online (Sandbox Code Playgroud)
但是在我的Spring MVC控制器中,所有在Cyrillic中输入的表单值都变成了垃圾.对此的一个转折是,这在Safari中运行良好,但在IE/FF/Chrome中没有.
有关如何设置正确的编码并防止垃圾字符被提交的任何想法?
Pus*_*kar 27
我找到了解决这个问题的方法.我已经在每个jsp页面的顶部设置了编码.但它没有用.所以我在web.xml中添加了一个spring字符编码过滤器.这将确保请求中的编码正确.
<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>
<init-param>
<param-name>forceEncoding</param-name>
<param-value>true</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>encodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
Run Code Online (Sandbox Code Playgroud)