web项目使用Tomcat作为服务器,GET请求参数中文乱码
来源:互联网 发布:oppoa77t怎么切换网络 编辑:程序博客网 时间:2024/06/07 05:54
问题:
web项目使用Tomcat作为服务器时,会遇到GET请求乱码的问题。
原因:
GET请求是将参数拼接到url上向服务器发起请求的。在Tomcat接收到请求时,会先将url解码。而默认的编码方式为"ISO-8859-1",解码后自然会产生乱码。
解决方法:
1) 对URL进行两次编码,这样Tomcat自动解码出来的仍然是url编码以后的非中文字符,不会乱码。但注意在服务器上获取参数时需要再解码一次。
js中对参数进行编码:encodeURI(encodeURI(中文字符串));后端控制层进行一次解码:URLDecoder.decode(参数名, "UTF-8")2) 设置Tomcat的server.xml文件,在定义处理http请求的连接器中设置URIEncoding=”UTF-8”。
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" URIEncoding="UTF-8"/>
总结:个人认为在项目中,使用get方式,尽量避免传入中文参数,如果实在避免不了,个人感觉第一种会好一点,在代码中处理问题,可以避免因运行环境不统一,带来的项目不可控,如果到项目后期的话,以解决问题为目的,第二种方式可能是一个有效的解决方案,简单易操作。
题外话:对于POST请求来说,因POST请求参数在http的体部,在读取参数时,是可以设置编码格式的,因此解决POST的中文乱码问题,一般都是通过Filter做拦截,设置请求参数的编码。request.setCharacterEncoding(“utf-8”);
阅读全文
0 0
- web项目使用Tomcat作为服务器,GET请求参数中文乱码
- web项目使用Tomcat作为服务器,GET请求参数中文乱码
- tomcat服务器使用get方式请求时参数乱码问题解决
- tomcat get请求中文乱码
- tomcat服务器,url get请求中文乱码解决方案
- tomcat配置get请求中文乱码解决
- tomcat中get请求中文乱码
- servlet get请求中文参数乱码
- get请求中文参数乱码处理
- SpringMVC之GET请求参数中文乱码
- Get 请求中文参数乱码解析
- 由于get请求的中文参数乱码
- java web项目中使用tomcat的服务器,ajax时中文乱码的问题
- SpringMVC get请求乱码(Tomcat服务器)
- tomcat url get 中文参数乱码问题
- JSP get 请求 Tomcat 服务器 插入数据到数据库中文乱码处理
- Get请求中文乱码
- Get请求中文乱码
- 递归求角谷定理
- BZOJ1083 繁忙的都市 (洛谷P2330)
- JVM G1垃圾收集器
- Iperf3.1.3简介
- ImageLoade
- web项目使用Tomcat作为服务器,GET请求参数中文乱码
- 公众号网页发开教程
- ONVIF协议网络摄像机(IPC)客户端程序开发(1):专栏开篇
- PHP + AJAX实现幸运转盘抽奖
- Android开发(一、初窥安卓--1.创建项目)
- H264系列(10):GOP之M和N值介绍
- Android——Jsoup工具类(图片,标题,时间等的获取)
- bootstrap中常用的一些样式制作(自我总结)
- 九大排序之——计数排序