Get请求和Post请求解决中文乱码问题

news/2024/10/25 3:23:17/

Post请求中中文乱码的原因

  1. Post请求中参数是通过request.getReader(),来获取流中的数据
  2. Tomcat在获取流的时候采用的是ISO-8859-1
  3. ISO-8859-1编码是不支持中文的,所以会出现乱码

解决方案:

  1. 页面的编码格式设置为utf-8
  2. Tomcat在获取流流之前将编码设置为utf-8
  3. 通过request.setCharacterEncoding("utf-8")设置编码

解决Post请求乱码的问题不适用于Get请求,Get请求出现乱码的原因:

  1. Get请求获取参数的方式是:request.getQueryString(),Post请求获取参数的方式是request.getReader()
  2. request.setChacterEncoding("utf-8")是设置request处理流的编码
  3. getQueryString()没有通过流的方式去获取参数

Get请求乱码的原因:

  1. 浏览器通过Http协议发送请求和数据给后台服务器
  2. 浏览器在发送Http的过程中会对中文数据进行URL编码
  3. 在进行URL编码的时候会采用<meta>标签指定的utf-8方式进行编码
  4. 后台服务器接收到编码后的数据会用ISO-8859-1进行解码
  5. 由于编码和解码采用的格式不一样,就会出现乱码的问题

URL编码:

URLEncoding.encoder("要编码的字符串","字符集")

URL解码

URLdecode("要解码的字符串","字符集")

解决:先解码再编码

new String(username.getBytes("ISO-8859-1"),"UTF-8");
此方法Post和Get请求都适用


http://www.ppmy.cn/news/1200049.html

相关文章

【PC】第2期《全知 PUBG 视角》概要

各位玩家大家好&#xff0c;欢迎收看本期公告。 得益于各位玩家的大力支持&#xff0c;第2期《全知 PUBG 视角》直播已经圆满落下了帷幕&#xff0c;非常感谢各位对我们的喜爱。在直播的热度过去之前&#xff0c;我们也已趁热打铁&#xff0c;为大家准备好了可供所有地区玩家观…

最近又考了两个Oracle认证,交一下作业

从Oracle 10g 开始考Oracle的认证&#xff0c;现在已经有15个Oracle的认证了&#xff0c;最近又考了两个Oracle认证&#xff0c;分别是云和AI的。是现在正时髦的技术&#xff0c;又恰恰是我的短板&#xff0c;以考促学&#xff0c;正好系统地学习这两门知识。这两个证书的培训和…

虚析构函数

1)类指针指向本身的对象 Son *xiaoming new Son; delete xiaoming; 构造及析构顺序&#xff1a; 父类构造 子类构造&#xff1b; 子类析构&#xff1b; 父类析构。 2)父类指针指向子类对象,&#xff0c;父类析构函数不是虚函数 Father *father new Son; delete f…

spring面试题笔记

SpringBoot 有几种读取配置文件的方式 1.value 必须是bean里才能生效&#xff0c;&#xff0c;final或static无法生效 2ConfigurationProperties注解 ConfigurationProperties是springboot提供读取配置文件的一个注解 注意&#xff1a; 前缀定义了哪些外部属性将绑定到类的字…

挑战100天 AI In LeetCode Day02(1)

挑战100天 AI In LeetCode Day02&#xff08;1&#xff09; 一、LeetCode介绍二、LeetCode 热题 HOT 100-32.1 题目2.2 题解 三、面试经典 150 题-33.1 题目3.2 题解 一、LeetCode介绍 LeetCode是一个在线编程网站&#xff0c;提供各种算法和数据结构的题目&#xff0c;面向程序…

老胡的周刊(第114期)

老胡的信息周刊[1]&#xff0c;记录这周我看到的有价值的信息&#xff0c;主要针对计算机领域&#xff0c;内容主题极大程度被我个人喜好主导。这个项目核心目的在于记录让自己有印象的信息做一个留存以及共享。 &#x1f3af; 项目 pyvideotrans[2] 将视频从一种语言翻译为另一…

装修服务预约小程序的内容如何

大小装修不断&#xff0c;市场中大小品牌也比较多&#xff0c;对需求客户来说&#xff0c;可以线下咨询也可以线上寻找品牌&#xff0c;总是可以找到满意的服务公司&#xff0c;而对装修公司来说如今线下流量匮乏&#xff0c;很多东西也难以通过线下方式承载&#xff0c;更需要…

qt+opengl(一)

QtOpenGL系列 qt opengl 绘制点、线、三角形、多边形&#xff08;二&#xff09; 文章目录 QtOpenGL系列一、环境二、使用步骤1.引入库2. 创建OpenGLWidget 一、环境 Qt5.15 MingGW 32-Bit .pro QT openglwin32:LIBS -lOpengl32 -lglu32 unix:LIBS -lglut -lGLU二、…