• 请求与响应的时候乱码问题原理


     1 乱码:
     2 
     3 请求乱码:
     4 get:
     5 
     6 1.修改tomcat中server.xml
     7 URIEncoding="UTF-8"  服务器采用utf-8的字符集编码 来进行 解码和编码
     8 默认的编码格式 是 ISO-8859-1
     9 
    10 2.new String(sname.getBytes("ISO-8859-1"),"UTF-8")
    11 浏览器以utf-8编码发送数据 ,服务器默认以ISO-8859-1解码,发送数据给servlet,servlet中需要再以ISO-8859-1格式 获得字节,然后 按照utf-8的字符集 解码
    12 
    13 post:    request.setCharacterEncoding("UTF-8");
    14 设置请求数据以utf-8方式 编码 解码,这种方式只对 体提交方式有效
    15 
    16 
    17 响应乱码:
    18 
    19 response.setCharacterEncoding("UTF-8"); 只是说明服务器 对客户端 响应数据 是以UTF-8 方式,响应,但是 浏览器以何种方式 阅读数据 不受控制!! 
    20 
    21 response.setContentType("text/html;charset=UTF-8"); 以UTF-8 方式 响应数据,并提醒浏览器 以这种方式 阅读
    22 
    23 response.setContentType("text/html;charset=UTF-8") 可以完全替代 response.setCharacterEncoding("UTF-8")
     1 乱码问题:           ASCII码值
     2 
     3 请求的时候乱码:
     4 get提交
     5 ***********方式一
     6 String name=request.getParameter("uname");
     7 byte[] bs=name.getBytes("ISO-8869-1");//获得客户端编码的字节数组
     8 String sname=new String(bs,"utf8");//把字节数组解码成utf-8的字符串
     9 
    10 ***********方式二   只针对头(get)提交方式
    11 在tomcat的server.xml中设置为URIEncoding="utf-8"
    12 
    13 
    14 post提交
    15 方式一同get的方式一
    16 ***********方式二   只针对体提交方式
    17 request.setCharacterEncoding("utf-8");
    18 
    19 
    20 
    21 响应的时候乱码:
    22 response.setCharacterEncoding("utf-8")//AJAX可以
    23 response.setContentType("text/html;charset=UTF-8");

     第三种乱码问题:

    无理论怎么设置request.setCharacterEncoding("utf-8")还是request.setContentType("text/html,utf-8");出现页面原本的数据和session取出来的数据一个乱码一个不乱码,或者都乱码的情况,看看jsp页面的是否设置了<%@ page  language="java" import="java.util.*" pageEncoding="UTF-8"%>

    这个jsp中引入的page标签,
    language 表示语言是java,
    import类似于java类中的import就是把包导入进来,这样在jsp才可以调用包中的类,
    pageEncoding表示页面的编码格式
  • 相关阅读:
    es5中的类 继承 (原型链继承,寄生继承,组合继承)
    typeScript类型
    javaScript 不可思议问题
    javaScript 运算符(操作符)
    window.a 与 window[a]区别
    Event Loop事件循环
    生产环境vue-router模式为history导致页面404
    Axios请求添加token
    vue页面利用keep-alive实现页面快速缓存
    js原型链原理
  • 原文地址:https://www.cnblogs.com/1020182600HENG/p/6089310.html
Copyright © 2020-2023  润新知