Tomcat5/JBoss中表单提交乱码问题的解决方法

请查看一下tomcat的配置文件server.xml(jboss也是用tomcat做的),其中有至少一个<Connector>标签,加上一个属性就可以了,例如:

    <Connector port="8080" ... useBodyEncodingForURI="true" />


注意,所有的connector都要加。原因见Tomcat FAQ: http://tomcat.apache.org/faq/misc.html#tomcat5CharEncoding

简单解释,按照URL规范,URL应该始终以UTF-8的方式来编码参数,然而由于众多浏览器历史的原因,事实上,大家都是按表单页面的content-type中指定的charset来编码所提交的表单。

例如:Web server用content-type为text/html; charset=GBK返回一个空白表单页面,然后用户填写并提交。IE将用GBK编码所有表单字段(无论是GET还是POST方法),并提交。

Tomcat 5希望完全遵行标准,于是默认总是以UTF-8来解码query data,这就造成了乱码。好在tomcat提供了向下兼容的方案,就是上述参数。有了这个参数,Tomcat 5的行为和Tomcat 5之前的版本就兼容了。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值