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

编程入门 行业动态 更新时间:2024-10-25 08:23:18

Get请求和Post请求解决中文<a href=https://www.elefans.com/category/jswz/34/1768993.html style=乱码问题"/>

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

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请求都适用

更多推荐

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

本文发布于:2023-11-16 09:22:50,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1616139.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:乱码   中文   Post

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!