• Ajax返回乱码


    1.关于JSP页面中的pageEncoding和contentType两种属性的区别:

      pageEncoding是jsp文件本身的编码,contentType的charset是指服务器发送给客户端时的内容编码,JSP要经过两次的“编码”,

       第一阶段:jsp编译成.java文件会用pageEncoding,

       第二阶段:从源码.java到字节码.class会用utf-8至utf-8,

      第三阶段就是由Tomcat出来的网页, 用的是contentType。

    2.全部用UTF-8

    resp.setHeader("Content-Type", "text/html;charset=UTF-8"); 

    3.tomcat 目录下 conf/server.xml文件

    字符编码解决方案 :<Connector port="80" maxHttpHeaderSize="8192"
                   maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
                   enableLookups="false" redirectPort="8443" acceptCount="100"
                   connectionTimeout="20000" disableUploadTimeout="true"useBodyEncodingForURI="true" /> 

     

    useBodyEncodingForURI则是根据响应该请求的页面的request.setCharacterEncoding参数对数据进行的重新编码,不同的页面可以有不同的重新编码的编码。

    另外还可以设置URIEncoding="指定编码",但不是很好的方法,如果tomcat有多个项目,每个项目编码不同,则行不通。

       URIEncoding和useBodyEncodingForURI区别是,URIEncoding是对所有GET方式的请求的数据进行统一的重新编码,而useBodyEncodingForURI则是根据响应该请求的页面的request.setCharacterEncoding参数对数据进行的重新编码,不同的页面可以有不同的重新编码的编码。

  • 相关阅读:
    SQL 死锁
    【Redis】存入redis的值,莫名其妙多了很多“u0000”
    for循环里面使用task
    Idea---SpringBoot整合Mybatis问题整理
    到相对应的元素位置。
    npm安装任何包都报错的解决办法
    form表单提交和ajax提交的使用场景和差别
    computed计算属性以及与watch的区别
    了解js的宏任务(macrotask)和微任务(microtask)以及Event-Loop
    async/await,promise的优缺点
  • 原文地址:https://www.cnblogs.com/yuyutianxia/p/3286366.html
Copyright © 2020-2023  润新知