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指定的编码。
去掉后一切正常了。