为了账号安全,请及时绑定邮箱和手机立即绑定

在使用springmvc的web.xml配置乱码拦截器之后接收的get或者post请求中文还是乱码。

在使用springmvc的web.xml配置乱码拦截器之后接收的get或者post请求中文还是乱码。

温温酱 2019-03-21 18:15:11
在使用springmvc的web.xml配置乱码拦截器之后接收的get或者post请求中文还是乱码。我的web.xml 配置<filter>        <filter-name>CharacterEncodingFilter</filter-name>        <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>        <async-supported>true</async-supported>        <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>CharacterEncodingFilter</filter-name>        <url-pattern>/*</url-pattern>    </filter-mapping>然后我使用了两种方式去请求接口GET和post第一种情况:用get方式提交接口,然后在SpringMVC中方法接收参数是用注解@RequestParam String name然后用该方式接收的值就是乱码,乱码的结构是&aaa;&ddd;这种的,然后我用java转码去转也不能成功第二种情况:用get方式提交接口,然后在SpringMVC中方法接收参数是用注解@RequestParam String name然后用该方式接收的值也是乱码,乱码的结构是&aaa;&ddd;然后我用java转码去转也不能成功第二种情况:用get方式提交接口,然后在SpringMVC中方法接收参数是用HttpServletRequest request 方法接收request.getParamter('name'),也是乱码,乱码的方式是?????全是问号,然后我用转码一下System.out.println("keyword" + new String(keyword.getBytes("iso-8859-1"),"utf-8"));就会变成中文。然后再用post方式用该方法也能够得到正确的中文。
查看完整描述

1 回答

?
长风秋雁

TA贡献1757条经验 获得超7个赞

CharacterEncodingFilter 对 URI 参数无效。


<Connector port="8080" protocol="HTTP/1.1"   

           connectionTimeout="20000"   

           redirectPort="8443" URIEncoding="UTF-8" />  

在Tomcat中可以设置URIEncoding参数指定URI的编码。


查看完整回答
反对 回复 2019-04-25
  • 1 回答
  • 0 关注
  • 571 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号