tomcat的server.xml里面配置URIEncoding的有关问题,导致post和get访问编码不一致

tomcat的server.xml里面配置URIEncoding的问题,导致post和get访问编码不一致

原来的发送短信的包都是好用的,post方式和get方式提交数据都能到后台正确不乱码,因为后台用

content = new String(content.getBytes("ISO8859-1"),"GBK");

 转好了。

最近发现用post方式提交的正常,用IE地址栏里直接用url传递参数就是乱码的。

到服务代码里加了输出在转码前和转码后分别输出,发现,get请求的时候不用转就正常的,这肯定是在这之前有转码的地方了,到tomcat的server.xml里一看,有人加了如下代码(红色)

<Connector port="8080" protocol="HTTP/1.1" 
               maxThreads="150" connectionTimeout="20000" 
               redirectPort="8443" URIEncoding="GBK"/>

(1) tomcat服务器
对于tomcat服务器,该文件是server.xml
<Connector port="8080" protocol="HTTP/1.1" 
               maxThreads="150" connectionTimeout="20000" 
               redirectPort="8443" URIEncoding="GBK"/>
URIEncoding告诉服务器servlet解码URL时采用的编码。

<Connector port="8080" ... useBodyEncodingForURI="true" />
useBodyEncodingForURI告诉服务器解码URL时候需要采用request body指定的编码。

 

去掉后一切正常了。