zoukankan      html  css  js  c++  java
  • Http响应乱码

    Http响应乱码

    方案1

    response.setHeader("Content-Type", "application/json");
    response.setCharacterEncoding("GBK");
    //Content-Type: application/json;charset=GBK
    //{code: "401", message: "未登录"}
    

    方案2

    response.setHeader("Content-Type", "application/json;charset=UTF-8");
    //{code: "401", message: "未登录"}
    //Content-Type: application/json;charset=UTF-8
    

    注意

    只设置Content-Type不带编码信息无效

    /*
    只设置Content-Type,没有带编码信息,String中的中文是UTF16编码的。tomcat以其默认的ISO-8859-1从String中获取字节。tomcat附加在Content-Type的编码是charset=ISO-8859-1,浏览器会以这个编码解码,但是得不到原始中文信息。
    */
    response.setHeader("Content-Type", "application/json");
    //{code: "401", message: "???"}
    //Content-Type: application/json;charset=ISO-8859-1
    

    只设置response.setCharacterEncoding("GBK"),知识tomcat以GBK编码从String对象中获取字节。但是此时没有Content-Type信息。也就是浏览器将会用默认的类型和编码解析响应。不一致也会出现乱码。

    //tomcat将字符串按GBK编码转为字节,但是浏览器收到字节后,按照默认编码解析将会乱码。
    response.setCharacterEncoding("GBK");
    //{"code":"401","message":"δ��¼"}
    
  • 相关阅读:
    python 装饰器
    git
    JS原生方法实现jQuery的ready()
    js获取css属性方法
    列表页调出点击量
    数组操作
    判断IE版本
    判断IE浏览器用IE条件表达式
    [jQuery] Cannot read property ‘msie’ of undefined错误的解决方法
    复选框字段数组拆分后循环选项值,if判断根据选项值,前端输出html
  • 原文地址:https://www.cnblogs.com/mozq/p/11781397.html
Copyright © 2011-2022 走看看