Tomcat的URL中文乱码解决以及传输优化
2016-01-07 13:11
543 查看
默认的tomcat容器如果直接使用get方式在url中传中文时,传到后台接收会是乱码。
tomcat默认的在url传输时是用iso8859-1编码。
在使用get传输参数时,将参数中的中文转换成url格式,也就是使用urlEncode和urlDecode来传输,使用这种方式就是把中文转换成以%开头的编码在url中传输。
使用这种方法时,要注意两点。
1.前台使用urlencode,在后台相应的使用urldecode。
2.使用urlencode的内容是参数内空。千万要注意,他是会把等于号等符号也给转换了。所以,最好是先把参数传换后再进行拼接。而不是把url拼接好再去转换。
配置tomcat,使用其在url传输过程中使用相应的支持中文的编码。一般国内的喜欢用gbk或gb2312。我个人建议使用utf-8
在tomcat的/conf/server.xml文件中,找到以下这一行。
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
这行的意思也就是使用8080端口来接收html的请求。在这里可以加几个参数来配置不同的效果。
URIEncoding="UTF-8" 设置url传输时对url内容的编码格式
compression="on" 打开压缩功能
compressionMinSize="2048" 启用压缩的输出内容大小,这里面默认为2KB
noCompressionUserAgents="gozilla, traviata" 对于以下的浏览器,不启用压缩
compressableMimeType="text/html,text/xml" 压缩类型
对于要解决乱码来说,改成以下就行
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" URIEncoding="UTF-8" />
要想页面打开更快点,就开启内容压缩功能,当然,前提是浏览也支持这种压缩。
乱码问题
原因:
tomcat默认的在url传输时是用iso8859-1编码。
解决方案一:
在使用get传输参数时,将参数中的中文转换成url格式,也就是使用urlEncode和urlDecode来传输,使用这种方式就是把中文转换成以%开头的编码在url中传输。使用这种方法时,要注意两点。
1.前台使用urlencode,在后台相应的使用urldecode。
2.使用urlencode的内容是参数内空。千万要注意,他是会把等于号等符号也给转换了。所以,最好是先把参数传换后再进行拼接。而不是把url拼接好再去转换。
解决方案二:
配置tomcat,使用其在url传输过程中使用相应的支持中文的编码。一般国内的喜欢用gbk或gb2312。我个人建议使用utf-8在tomcat的/conf/server.xml文件中,找到以下这一行。
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
这行的意思也就是使用8080端口来接收html的请求。在这里可以加几个参数来配置不同的效果。
URIEncoding="UTF-8" 设置url传输时对url内容的编码格式
compression="on" 打开压缩功能
compressionMinSize="2048" 启用压缩的输出内容大小,这里面默认为2KB
noCompressionUserAgents="gozilla, traviata" 对于以下的浏览器,不启用压缩
compressableMimeType="text/html,text/xml" 压缩类型
对于要解决乱码来说,改成以下就行
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" URIEncoding="UTF-8" />
要想页面打开更快点,就开启内容压缩功能,当然,前提是浏览也支持这种压缩。
相关文章推荐
- Tomcat如何添加管理员
- Tomcat常用的优化技巧
- 坑爹坑娘坑祖宗的87端口(记一次tomcat故障排查)
- ubuntu下安装tomcate + eclipse环境心得笔记
- Web服务器父与子 Apache和Tomcat区别
- Target runtime Apache Tomcat v6.0 is not defined.错误解决方法
- 邮件开发:Tomcat中JavaMail支持与冲突
- CentOS下Apache+Tomcat整合
- Apache+Tomcat实现负载均衡
- 如何更改tomcat7及以上版本内存设置
- Tomcat7设置环境变量供java代码读取
- linux下实时查看tomcat运行日志
- Tomcat7.0无法启动解决方法[failed to start]
- spring-boot+nginx+tomcat+ssl配置笔记
- Solr5.4 在 Tomcat 部署
- tomcat jsp加载ocx,浏览器崩溃
- CI学习一:maven项目自动部署到tomcat
- TOMCAT服务器每次只能接收9999条数据
- 让Tomcat供外网访问
- Eclipse中部署tomcat web service 生成jsp dynamic web page