tomcat下get方式提交请求乱码解决办法

本文介绍了在Tomcat服务器中解决GET请求中文乱码的方法,包括调整参数编码及修改server.xml配置。并通过两种有效方案解决了URL发送请求时出现的问题。

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

最近在编程的时候,发现分别用get和post发送中文数据,后者可以得到正确结果,

 

前者却是乱码。查了些资料,发现服务器对post和get请求的数据的编码处理是不一样的

 

。现把tomcat下get和url直接发送请求乱码的解决办法列举如下:

方法1. 

String name = new String((request.getParameter("name")).getBytes("ISO-8859-

 

1"),"GBK") 

方法2.

1) 打开tomcat的server.xml文件,找到区块,加入如下一行:

URIEncoding=”GBK”

完整的应如下:

<Connector 

port="80" maxThreads="150" minSpareThreads="25" maxSpareThreads="75"

enableLookups="false" redirectPort="8443" acceptCount="100"

debug="0" connectionTimeout="20000" 

disableUploadTimeout="true" URIEncoding="GBK" />

 

或者

   将useBodyEncodingForURI参数设置为true,这个据说是可以,但我测试的时候没有

 

成功,估计是哪一块设置还有问题,好烦,算了,有一种方法能用就行了。

 

2)重启tomcat,一切OK。

 

   另外,如果用url发送请求,请求的数据中含有%号,resin得到的是乱码,tomcat得

 

到的是空值,我的解决办法是把%改成%25

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值