`

关于配置Tomcat的URIEncoding(转)

 
阅读更多

转自:http://blog.csdn.net/vicky_fish/article/details/8260469

 

遇到的问题:

     程序需要发送http GET请求到服务器,请求的参数中包含了中文字符。程序中参数为UTF-8格式,
且经过了UTF-8 URL编码再发送。使用的tomcat服务器,
但服务器端后台程序中取到的参数的中文是乱码。

 

问题原因:

经过分析,应该是Tomcat在解析参数的时候没有使用正确的编码格式(UTF-8)去解码。

查看$TOMCAT_HOME/webapps/tomcat-docs/config/http.html这个说明文档,有如下说明: 
URIEncoding:This specifies the character encoding used to 
decode the URI bytes, after %xx decoding the URL. 
If not specified, ISO-8859-1 will be used.

也就是说,如果没有设置URIEncoding, 
Tomcat默认是按ISO-8859-1进行URL解码,ISO-8859-1并未包括中文字符,
这样的话中文字符肯定就不能被正确解析了。

 

解决办法:

修改Tomcat的Server.xml,在Connector标签中加上URLEncoding参数:

<Connector port="8080" maxThreads="150" minSpareThreads="25" 
maxSpareThreads="75" enableLookups="false" redirectPort="8443" 
acceptCount="100" debug="99" connectionTimeout="20000" 
disableUploadTimeout="true" URIEncoding="UTF-8"/>

 

分享到:
评论

相关推荐

    tomcat环境变量配置

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

    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: 把修改成...

    tomcat8get请求url格式问题

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

    Tomcat面试专题及答案.pdf

    URIEncoding="UTF-8" 指定 Tomcat 容器的 URL 编码格式。 disableUploadTimeout="true" 上传时是否使用超时机制 enableLookups="false"--是否反查域名,默认值为 true。为了提高处理能力, 应设置为 false ...

    Tomcat6_优化_方案

    将 URIEncoding 指定为 UTF-8,(如果程序写的太烂,有乱码,则将此行去除) 3. (无用,Http11NioProtocol不支持下载)将 protocol 从 "HTTP/1.1" 修改为 protocol="org.apache.coyote.http11.Http11NioProtocol" 4. ...

    Tomcat中redirectPort的作用

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

    maven 配置注意事项

    Maven 配置注意事项: 1.安装maven,在myeclipse中换为自己安装的maven 2.修改maven中conf/setting.xml的配置修改仓库位置、以及 配置server ...6.配置tomcat里面管理员帐号密码      ,manager-script"/&gt;

    Tomcat源码研究

    编辑本段常用功能的配置方法 1 启动内存参数的配置  tomcat/bin/catalina.bat 如果是linux 就是 catalina. sh 在rem 的后面增加如下参数 set JAVA_OPTS= -Xms256m -Xmx256m -XX... 更多关于Tomcat的使用,请看参考资料

    关于Tomcat在网页访问目录出现的404问题

    加入: URIEncoding=“utf-8” 如果还不行! 最后一个 b: 打开apache的安装目录下的webapps目录,在该目录下是否有你的项目在里面? 都到这一步了,应该没有的吧 。 在Overview 模块内操作: 默认是选择 Use ...

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

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

    Tomcat和JavaVirtualMachine的性能调优总结

    就算生不逢时,也该理解理解了。对于一些性能调优的话题我是一直插不上嘴,只是针对昨晚看到...这种配置我们一般是不会设置的,因为关于乱码的转换我们会在具体项目中具体处理,直接修改Tomcat的字符集未免过于太死板。

    Apache2.2整合Tomcat6所用软件包

    Apache 配置 1. 配置httpd.conf 使用apache自带的proxy模块,去掉注释使其可用 LoadModule proxy_module modules/mod_proxy.so LoadModule proxy_ajp_module modules/mod_proxy_ajp.so LoadModule proxy_balancer...

    如何验证Tomcat Gzip配置是否生效的方法

    我们在使用Tomcat优化配置时,都会开始Tomcat的Gzip压缩功能,配置如下: &lt;Connector port=9080 protocol=HTTP/1.1 connectionTimeout=20000 redirectPort=8443 URIEncoding=UTF-8 useBodyEncodingForURI=...

    使用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; 可是这样的修改方法 并不...

    tomcat服务器如何配置字符集为utf-8彻底解决中文乱码的问题详解

    什么是字符集 在介绍字符集之前,我们先了解下为什么要有字符集。我们在计算机屏幕上看到的是实体化的文字,而在计算机存储介质中存放的实际是二进制的比特流。那么在这两者之间的转换规则就需要一个统一的标准,...

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

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

Global site tag (gtag.js) - Google Analytics