• 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参数对数据进行的重新编码,不同的页面可以有不同的重新编码的编码。

  • 相关阅读:
    力扣(LeetCode)验证回文串 个人题解(C++)
    力扣(LeetCode)平方数之和 个人题解
    Exclusive Access 2 UVA
    C语言中指针*p[N], (*P)[N]的区别
    2018年蓝桥杯国赛比赛心得
    2018acm/icpc西安邀请赛比赛心得
    [最小割]Cable TV Network UVA
    Tree Reconstruction UVA
    Twenty Questions UVA
    python中的enumerate 函数(编号的实现方式)
  • 原文地址:https://www.cnblogs.com/yuyutianxia/p/3286366.html
Copyright © 2020-2023  润新知