2008-03-31
Tomcat5的中文参数编码问题解决方案
关键字: tomcat apache 中文编码 编码
我们在使用Tomcat应用服务器时,为了更好的支持URL地址中的中文参数问题,我们需要做如下的配置来确保应用程序接受到参数不乱码。比如我的系统采用了UTF-8的编码方式,那么如果直接传递中文参数,需要在tomcat进行如下设置:
1.如果单使用tomcat,不整合apache
我们需要修改server.xml文件的如下行:
注意URIEncoding="UTF-8"的部分,即将URI的编码设置为“UTF-8“,这样就不会有问题了;
2.整合tomcat和apache后的设置
刚开始我没有整合的时候传递的中文参数可以很好的解决,后来整合apache后,却出现乱码了,绕过apache后是正常的,所以问题出现在apache或apache和tomcat的通信上,经过baidu,好不容易找到答案。修改server.xml文件中的如下行:
这出现apache和tomcat的通信上,由于我这里的整合是采用JK,tomcat使用的是ajp13协议,所以,需要在他们的通信阶段来处理编码,即代码中的URIEncoding="UTF-8"部分。
以上是我在处理tomcat的中文参数时遇到的问题,记下来以备速查:-)
1.如果单使用tomcat,不整合apache
我们需要修改server.xml文件的如下行:
<Connector port="8080" maxHttpHeaderSize="8192"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8443" acceptCount="100"
connectionTimeout="20000" disableUploadTimeout="true" URIEncoding="UTF-8"/>
注意URIEncoding="UTF-8"的部分,即将URI的编码设置为“UTF-8“,这样就不会有问题了;
2.整合tomcat和apache后的设置
刚开始我没有整合的时候传递的中文参数可以很好的解决,后来整合apache后,却出现乱码了,绕过apache后是正常的,所以问题出现在apache或apache和tomcat的通信上,经过baidu,好不容易找到答案。修改server.xml文件中的如下行:
<Connector port="8009"
enableLookups="false" redirectPort="8443" protocol="AJP/1.3" URIEncoding="UTF-8" />
这出现apache和tomcat的通信上,由于我这里的整合是采用JK,tomcat使用的是ajp13协议,所以,需要在他们的通信阶段来处理编码,即代码中的URIEncoding="UTF-8"部分。
以上是我在处理tomcat的中文参数时遇到的问题,记下来以备速查:-)
发表评论
提醒: 该博客已发表在公共论坛,博客所有留言会成为论坛回贴,留言请注意遵守论坛发贴规则
- 浏览: 7391 次
- 性别:

- 来自: 杭州

- 详细资料
搜索本博客
最近加入圈子
最新评论
-
如何区分真静态和伪静态网 ...
你看看我做的这个网站,是静态还是动态的?http://www.zqlease.c ...
-- by ayeah -
如何区分真静态和伪静态网 ...
edwardpro 写道这年头大型网站不可能静态的,否则集权不能玩了 兄弟这 ...
-- by 猫尾摆摆 -
如何区分真静态和伪静态网 ...
andy54321 写道这个静态页面的生成, 偶没搞懂什么意思。。。 但是对 ...
-- by 猫尾摆摆 -
如何区分真静态和伪静态网 ...
icewubin 写道风雪涟漪 写道都是生成静态页面的。。。。要是动态的。。。性 ...
-- by ygxdha -
如何区分真静态和伪静态网 ...
edwardpro 写道这年头大型网站不可能静态的,否则集权不能玩了 大型网站是 ...
-- by sagah






评论排行榜