`

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指定的编码。

 

去掉后一切正常了。

2
0
分享到:
评论
2 楼 xiaoxin 2014-11-26  
ziguopu 写道
这个就延伸一个问题,到底是在程序内部转码, 还是优先考虑修改服务器配置(开发阶段)


我觉得还是要优先选择程序内部解决问题,不要依赖服务器配置,因为我们的程序会发布到不同工程,不同的应用服务器上,都是已经布置好的环境,不会给这个程序单独安装服务器,所以不能改原来服务器的配置的。
1 楼 ziguopu 2014-10-28  
这个就延伸一个问题,到底是在程序内部转码, 还是优先考虑修改服务器配置(开发阶段)

相关推荐

    tomcat server.xml的典型配置

    tomcat server.xml的典型配置,URIEncoding="utf-8

    tomcat值乱码解决

    一般我们所装的linux服务器,是中文版的,所以系统环境的编码是gbk,然而我们项目的编码是UTF-8,这就必须在tomcat的server.xml文件中修改,在两个地方添加 URIEncoding="UTF-8",具体代码如下:

    Tomcat-7.0.30

    Tomcat配置: 修改server.xml: connectionTimeout="20000" redirectPort="8443" URIEncoding="UTF-8"/&gt; 修改目的:为了解决使用HTTP Get方法传递中文参数乱码的问题 修改context.xml: 把修改成...

    maven 配置注意事项

    2.修改maven中conf/setting.xml的配置修改仓库位置、以及 配置server 如 &lt;localRepository&gt;D:\Program Files\apache-maven-3.3.3\repository &lt;server&gt;  &lt;id&gt;tomcat7  &lt;username&gt;admin  &lt;password&gt;admin &lt;/server...

    FCKeditor编辑器Java版

    若下载的不能显示中文图片的话,请修改tomcat安装目录下的server.xml 在tomcat的server.xml中加入URIEncoding="UTF-8",加入后如下 maxThreads="150" minSpareThreads="25" maxSpareThreads="75" enableLookups...

    如何配置Filter过滤器处理JSP中文乱码

    配置Filter过滤器处理JSP中文乱码 参考Tomcat服务器目录webapps的examples示例 ...3.对Tomcat服务器conf目录里的Server.xml文件配置URIEncoding; 4.前台页面设置contentType的charset值与web.xml里设置的值一致。

    pager-taglib

    这个包经过重新编译,编译版本为1.5,默认编码格式修改为utf-8,你也可以设置charset参数,当然你需要在tomcat server.xml中设置URIEncoding="your wanna encoding...

    tomcat环境变量配置

    如果你的Tomcat安装在C盘里,如:c:\tomcat(在这里切记一下,安装Tomcat时,在其字母周围一定不要存在空格,否则最后可能导致配置不成功) 1,新建变量名:CATALINA_BASE,变量值:C:\tomcat 2,新建变量名:...

    详解tomcat 解决 POST请求传参数过长受限制的问题

    POST请求本身并未限制传入参数大小,是tomcat 容器设置了接收参数大小的限制 解决过程: vim server.xml &lt;Connector port=8080 protocol=HTTP/1.1 connectionTimeout=2000 redirectPort=8443 URIEncoding=UTF...

    tomcat8get请求url格式问题

    解决方式进入tomcat的server配置中进行添加参数配置 connectionTimeout="20000" redirectPort="8443" URIEncoding="UTF-8" relaxedPathChars="[]{}|\\^" relaxedQueryChars="[]{}|\\^" /&gt;

    Tomcat源码研究

    编辑本段常用功能的配置方法 1 启动内存参数的配置 ... /tomcat/conf/server.xml 第一行是以前默认存在的,第二行是新增的 &lt;Context path="" docBase="ROOT" debug="0" reloadable="true"&gt;&lt;/Context&gt; ...

    解决tomcat下中文乱码问题

    解决tomcat下中文乱码问题, 在tomcat_home\conf\server.xml 中的Connector元素中设置URIEncoding属性为合适的字符编码

    解决Linux下Tomcat向MySQL插入数据中文乱码问题

    一、问题 在windows上面使用eclipse开发的项目在windows上面运行一切正常,...在tomcat配置文件server.xml中再加入URIEncoding=”UTF-8″,不行 4、尝试四 由于是SSM框架项目,在web.xml中加过过滤器    &lt;filter&gt;e

    sshz中文乱码解决方法

    中文乱码解决: String userTmp0 = new String(user....3.在tomcat/server.xml里配置 maxThreads="150" connectionTimeout="20000" redirectPort="8443" URIEncoding="GBK"/&gt; 4.数据库配置成与上面统一的编码形式

    fckeditor2.6最新源码工程解决中文问题,

    分别添加了 URIEncoding="utf-8",虽然不推荐修改系统环境server.xml,但能解决问题是根本,谁有空再研究怎么不改配置文件来解决中文问题 吧 3、添加了两个类 FckContextPathBuilder(用来控制上传的文件分组) ...

    Tomcat面试专题及答案.pdf

    2)在 server.xml 文件上配置节点,设置相关的属性即可 3)通过 Catalina 来进行配置:进入到 conf\Catalina\localhost 文件下,创建一个 xml 文件,该文件的名字就是站点的名字。 编写 XML 的方式来进行设置。

    Tomcat中redirectPort的作用

    在Tomcat配置文件Server.xml中redirectPort的作用说明:  配置文件源代码片段: connectionTimeout=20000 redirectPort=8443 URIEncoding=UTF-8/&gt; 这个代码片段是设置HTTP请求的配置,其中可以看到8080和8443两...

    google风格的自动完成

    打开tomcat的server.xml文件,找到区块,加入如下一行: URIEncoding=”GBK” 完整的应如下: port="80" maxThreads="150" minSpareThreads="25" maxSpareThreads="75" enableLookups="false" redirectPort="8443...

    使用Maven tomcat:run命令启动web项目时修改默认端口的方法

    一开始我在pom.xml配置文件里面修改,如下面所示: &lt;groupId&gt;org.apache.tomcat.maven &lt;artifactId&gt;tomcat7-maven-plugin &lt;version&gt;2.2 &lt;port&gt;9999 &lt;uriEncoding&gt;UTF-8&lt;/uriEncoding&gt; 可是这样的修改方法 并不...

    解决jsp页面使用网络路径访问图片的乱码问题

    使用jsp页面展示网络路径的图片出现乱码问题,如图: 需要在tomcat的server.xml配置文件中添加一个属性:URIEncoding=”UTF-8″ ,修改之后为: 代码如下: ”8080″ protocol=”HTTP/1.1″ maxThreads=”150″ ...

Global site tag (gtag.js) - Google Analytics