首页
技术知识库
Task工作计划
网站简介
DON框架
后台管理
文章分类
JAVA
框架知识
操作系统
容器相关
数据库层
优化技术
界面编程
网络编程
开发工具
GO语言
其他
读书随笔
观影随笔
每日随笔
APP
tomcat通过url传参中文时乱码问题解决方案
所属分类
:[容器相关] |
创建时间
:2013-08-27 |
文章属性
:原创 |
文章来源
: |
作者
:windfly
<p> 默认的tomcat容器如果直接使用get方式在url中传中文时,传到后台接收会是乱码。 </p> <p> <br> </p> <h2> 乱码问题 </h2> <h3> 原因: </h3> <p> <span> </span>tomcat默认的在url传输时是用iso8859-1编码。 </p> <p> <br> </p> <h3> 解决方案一: </h3> <p> <span> </span>在使用get传输参数时,将参数中的中文转换成url格式,也就是使用urlEncode和urlDecode来传输,使用这种方式就是把中文转换成以%开头的编码在url中传输。 </p> <p> <span> </span>使用这种方法时,要注意两点。 </p> <p> <span> </span>1.前台使用urlencode,在后台相应的使用urldecode。 </p> <p> <span> </span>2.使用urlencode的内容是参数内空。千万要注意,他是会把等于号等符号也给转换了。所以,最好是先把参数传换后再进行拼接。而不是把url拼接好再去转换。 </p> <p> <br> </p> <h3> 解决方案二: </h3> <p> <span> </span>配置tomcat,使用其在url传输过程中使用相应的支持中文的编码。一般国内的喜欢用gbk或gb2312。我个人建议使用utf-8 </p> <p> <span> </span>在tomcat的/conf/server.xml文件中,找到以下这一行。 </p> <p> <Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" /> </p> <p> 这行的意思也就是使用8080端口来接收html的请求。在这里可以加几个参数来配置不同的效果。 </p> <p> <br> </p> <p> URIEncoding="UTF-8" 设置url传输时对url内容的编码格式 </p> <p> <br> </p> <p> 对于要解决乱码来说,改成以下就行 </p> <p> <Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" URIEncoding="UTF-8" /> </p> <p> <br> </p>
返回