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

  • 相关阅读:
    day5 -常用模块
    day4装饰器-迭代器&&生成器
    h5 canvas 图片上传操作
    Tomcat上传文件报错:returned a response status of 403 Forbidden
    $.each遍历json对象
    Java求字符串中出现次数最多的字符
    线程池原理
    谈谈你对Hibernate的理解
    为什么要用 ORM? 和 JDBC 有何不一样?
    多线程有几种实现方法?同步有几种实现方法?(被问到)
  • 原文地址:https://www.cnblogs.com/yuyutianxia/p/3286366.html
Copyright © 2011-2022 走看看