请求参数的中文乱码问题解决办法总结(No.37)

本文探讨了在处理HTTP GET和POST请求时遇到乱码问题的原因,并提供了两种解决方案:修改request.setCharacterEncoding(UTF-8)的位置和在server.xml文件中添加URIEncoding和useBodyEncodingForURI属性。

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

 
首先实现这样一个页面

在doGet和doPost中写入:

输出的结果:

      doGet : 乱码

      doPost : 乱码

解决方式:
1、添加语句

       结果为: doGet :  乱码   
                        doPsot :  正确
由此可以看出:request.setCharacterEncoding("UTF-8");这句在doGet方法中并不适用;
修改方案:修改doget方法为:

       

           结果为:  doGet : 正确
                            doPost : 正确

 

2、修改conf\server.xml文件中的

 <Connector port="8080" protocol="HTTP/1.1" 

               connectionTimeout="20000" 

                  redirectPort="8443"  末尾  />

    第一种:在末尾加上URIEncoding="UTF-8" ,然后运行检测
                 结果: doGet : 正确
                              doPost : 乱码
             由此可知这种方法并不能使之正确
    第二种:在末尾加上useBodyEncodingForURI="true"
                         并在doGet()方法和doPost()方法中添加

              结果:  doGet :正确
                            doPost: 正确
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值