背景:商品按商品名称搜索
--------------------------------------
问题:在前台页面是用Ajax发出的请求,但是在后台怎么弄得倒的字符都是乱码,spring内置的字符过滤、自定义filter、在request取数据前
request.setCharacterEncoding("XXX") 、手动转码 都不行,不知道问什么?
------------------------
解决: 百度后得知只要把tomcat里的conf/server.xml 配置文件改一下就可以了。 更改如下:
将 <Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443"
URIEncoding="UTF-8"/>
加一个 URIEncoding="UTF-8" 配置项
改为
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443"
URIEncoding="UTF-8"/ >
便解决了问题。
给tomcat的链接器Connector 配置一个URIEncoding属性,然后tomcat连接器传给tomcat容器的数据就会经过编码
(这也算是个终极的解决方法吧,但是如果服务器换成其他的了就得在项目部署的服务器上配置了)
tomcat连接器:http://wenku.baidu.com/view/5a4525ec172ded630b1cb68f.html