request.getParameter()在get和post方法中文乱码问题
2024-10-15 16:37:21
乱码原因:Http请求传输时将url以ISO-8859-1编码,服务器收到字节流后默认会以ISO-8859-1编码来解码成字符流(造成中文乱码)
post请求:
假设提交请求的jsp页面是UTF-8编码
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
解决方法1:在服务端获取参数前,先设置解码方式。
//设置解码方式,对于简体中文,使用UTF-8解码
request.setCharacterEncoding("UTF-8");
request.getParameter("参数名");
解决方法2:Tomcat默认编码ISO8859-1,设置成其他的编码
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8444"
useBodyEncodingForURI="true"
URIEncoding="UTF-8"/>
解决方法3:通过字符串和字节流转换时使用正确的编码获取中文参数
String str = new String(request.getParameter("参数名").getBytes("iso-8859-1"), "utf-8");
Get请求 ,只有第三种方法有效。
最新文章
- (转)TortoiseSVN客户端重新设置用户名和密码
- 输入URL之后都发生了什么
- Linux打包压缩.md
- bootstrap添加时间控件
- C语言 ---- 循环分支 iOS学习-----细碎知识点总结
- uva 818 (位运算 + 判环)
- HttpRuntime应用程序的运行时
- [LeetCode] Combination Sum (bfs)
- Java IO读取文件之二
- POJ 3311 Hie with the Pie(Floyd+状态压缩DP)
- Error:/etc/fstab:Read-only file system错误的解决办法
- javascript 笔记——setTimeout的参数问题
- JavaScript高级程序设计-8:BOM
- 编程&;blog处女篇-用C#求100以内的质数
- LimeSDR 无线信号重放攻击和逆向分析
- Counted(内存管理机制)
- Mysql插入中文的字段内容时乱码的解决方法
- 深度学习中 batchnorm 层是咋回事?
- wx.Panel
- Docker 入门指南——Dockerfile 指令