request.getParameter()中文乱码
来源:互联网 发布:淘宝外卖怎么加入配送 编辑:程序博客网 时间:2024/05/27 00:46
场景描述:
在上个请求使用 response.getWriter().write(JSON.toJSONString(resultMap)) 之后,把response里的信息让下一个request带回后台,在request.getParameter("《para》")的时候,发现,获取到的参数(原本应该是中文),为乱码。
原因:
在浏览器端,Http请求传输时,是以ISO-8859-1编码,后台服务器收到字节流后(request)默认会以ISO-8859-1编码来解码成字符流,这就造成了中文乱码。
解决1:
后台服务端可以这样把乱码修正:String str = new String(request.getParameter("参数名").getBytes("iso-8859-1"), "utf-8");
解决2:
服务端容器,针对tomcat,可以修改Tomcat/conf目录下的server.xml文件:
- <Connector port="8080" protocol="HTTP/1.1"
- connectionTimeout="20000"
- redirectPort="8444"
- useBodyEncodingForURI="true" URIEncoding="UTF-8"/>
下面来解释一下这两个属性的意义
useBodyEncodingForURI参数表示是否用request.setCharacterEncoding参数对URL提交的数据和表单中GET方式提交的数据进行重新编码,在默认情况下,该参数为false。
URIEncoding参数指定对所有GET方式请求进行统一的重新编码(解码)的编码。
URIEncoding和useBodyEncodingForURI区别是,
URIEncoding是对所有GET方式的请求的数据进行统一的重新编码,
而useBodyEncodingForURI则是根据响应该请求的页面的request.setCharacterEncoding参数对数据进行的重新编码,不同的页面可以有不同的重新编码的编码
- request.getParameter 中文乱码
- request.getParameter()中文乱码
- request.getParameter()中文乱码
- request.getParameter()中文乱码
- request.getParameter中文乱码问题
- request.getParameter 中文乱码解决
- request.getParameter中文乱码问题
- request.getParameter中文乱码问题
- request.getParameter中文乱码问题
- request.getParameter中文乱码问题
- request.getParameter() 获取中文乱码
- request.getParameter中文乱码分析
- 处理 request.getParameter() 中文乱码
- request.getparameter中文乱码问题
- 关于request.getParameter中文乱码
- JSP关于request.getParameter("");中文乱码问题
- 解决request.getParameter()中文乱码的问题
- JSP Request.getParameter中文乱码的误区
- 关于一些Java的小技巧
- Glide图片加载框架基础篇二
- Centos7安装Kibana及配置
- 多线程同步概念
- 我是如何快速搭建swagger,并自定义修改逻辑代码
- request.getParameter()中文乱码
- JQuery学习笔记
- libdecodeqr库不能识别大角度二维码问题解决
- 整理的前端面试题2
- Android Studio 与 Unity3d交互(一)
- SQLite数据库---数据库的基本操作
- Problem G: Sequence Number----暴力
- [剑指offer]重建二叉树
- Ubuntu16.04安装Macbuntu 秒变Mac os