URL地址中的中文参数乱码问题

本文介绍了解决Tomcat应用服务器中URL地址中文参数乱码的方法。针对未整合Apache及整合Apache两种情况,详细说明如何通过配置server.xml文件中的URIEncoding参数来解决乱码问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  我们在使用Tomcat应用服务器时,为了更好的支持URL地址中的中文参数问题,我们需要做如下的配置来确保应用程序接受到参数不乱码。比如我的系统采用了UTF-8的编码方式,那么如果直接传递中文参数,需要在tomcat进行如下设置: 

1.如果单使用tomcat,不整合apache 
    我们需要修改server.xml文件的如下行: 

Java代码 
  1. <Connector port= "8080"  maxHttpHeaderSize= "8192"   
  2.            maxThreads="150"  minSpareThreads= "25"  maxSpareThreads= "75"   
  3.            enableLookups="false"  redirectPort= "8443"  acceptCount= "100"   
  4.            connectionTimeout="20000"  disableUploadTimeout= "true"  URIEncoding= "UTF-8" />  

    注意URIEncoding="UTF-8"的部分,即将URI的编码设置为“UTF-8“,这样就不会有问题了; 


2.整合tomcat和apache后的设置 
    刚开始我没有整合的时候传递的中文参数可以很好的解决,后来整合apache后,却出现乱码了,绕过apache后是正常的,所以问题出现在apache 或apache和tomcat的通信上,经过baidu,好不容易找到答案。修改server.xml文件中的如下行: 
Java代码 
  1. <Connector port= "8009"   
  2.            enableLookups="false"  redirectPort= "8443"  protocol= "AJP/1.3"
  3. URIEncoding= "UTF-8"  />  

    这出现apache和tomcat的通信上,由于我这里的整合是采用JK,tomcat使用的是ajp13协议,所以,需要在他们的通信阶段来处理编码,即代码中的URIEncoding="UTF-8"部分。 


    以上是我在处理tomcat的中文参数时遇到的问题,记下来以备速查:-)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值