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

    技术2022-06-13  40

    最近在编程的时候,发现分别用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得

     

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


    最新回复(0)