form get提交中文乱码问题

 

前提:jsp已设置为utf-8,struts2配置为utf-8.

 

 

今天碰到个乱码问题,form表单post提交中文没有任何问题,get提交到服务器确实乱码。在网上了解了下,这个应该很多人碰到。

 

  首先说明下,struts2设置为utf-8的话,相当于response.setCharacterEncoding("UTF-8"),对HTTP请求的body进行编码,但是get请求的数据是直接在URL中,通过配置struts2配置为utf-8或CharacterEncodingFilter拦截器都不会对URL进行转换。

 

  解决方法:(用的是Tomcat服务器,Jboss等其他web服务器类似)打开tomcat的conf/server.xml,找到下面这行配置:

<Connector port="8080" protocol="HTTP/1.1" 
               connectionTimeout="20000" 
               redirectPort="8443" />
 

增加属性URIEncoding="UTF-8",效果如下:

<Connector port="8080" protocol="HTTP/1.1" 
               connectionTimeout="20000" 
               redirectPort="8443" URIEncoding="UTF-8" />

 

重启服务器即可。希望对遇到类似问题的同学有所帮助。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值