Ajax发起GET请求的乱码问题

来源:互联网 发布:韦德生涯场均数据 编辑:程序博客网 时间:2024/05/29 09:13

在SpringMVC项目中,我在前台发送带有中文参数的get请求到服务器,虽然我已经配置了spring的字符编码过滤器,但发现后台接收的字符串为乱码,详情如下。
我将字符串 ‘你好’ 发送到后台,经过debug发现’你好’被编码为:

%e4%bd%a0%e5%a5%bd

然后后台按照utf8将其解码为

ä½ å¥½

经过查阅资料发现,字符编码过滤器中的request.setCharacterEncoding(this.encoding)
只会对post请求设置编码,get请求默认会用ISO-8859-1编码,这个时候会乱码。所以要先将get请求设置为utf8编码,简单的解决方法如下:

修改TomCat的server.xml配置文件<Connector URIEncoding="UTF-8" port="8080" protocol="HTTP/1.1"                   connectionTimeout="20000"                   redirectPort="8443" />