如何使SpringMVC控制器与UTF-8一起工作?

我使用jqueryajax将表单提交给后台的springmvc控制器。我正在jsp上设置编码。在Firebug的请求头中,我看到了-

接受字符集ISO-8859-1,utf-8;q=0.7,*;q=0.7
活命
连接保持活动状态
内容类型应用程序/x-www-form-urlencoded;字符集=UTF-8
X-request-With-XMLHttpRequest

然而,在我的SpringMVC控制器中,在西里尔文中输入的所有表单值都变成了垃圾。一个转折点是,这在Safari中很好用,但在IE/FF/Chrome中却不行

关于如何设置正确的编码并防止提交垃圾字符,有什么想法吗

我找到了这个问题的解决办法。我已经在每个jsp页面的顶部设置了编码。但它没有起作用。因此,我在web.xml中添加了一个spring字符编码过滤器。这将确保请求中的编码正确

<过滤器>
<过滤器名称>编码过滤器&lt/过滤器名称>
<过滤等级>org.springframework.web.filter.CharacterEncodingFilter&lt/过滤等级>
<初始参数>
<参数名称>编码&lt/参数名称>
<参数值>UTF-8&lt/参数值>
&lt/初始参数>
<初始参数>
<参数名称>强制编码&lt/参数名称>
<参数值>正确&lt/参数值>
&lt/初始参数>
&lt/过滤器>
<过滤器映射>
<过滤器名称>编码过滤器&lt/过滤器名称>
<url模式&gt/*&lt/url模式>
&lt/过滤器映射>

发表评论