zoukankan      html  css  js  c++  java
  • 编码问题

    1、 pageEncoding="utf-8"
    <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
    pageEncoding="utf-8":指的是jsp文件的编码方式;
    普通的话:
    pageEncoding="utf-8"这句话只是简单的文本,改变它并不会改变文件的编码方式
    如:右下角显示文件的编码仍然是utf-8
    见图:


    MyEclipse(可能是MyEclipse)对这个东西进行了解析,当我们修改这句话的时候
    如: pageEncoding="utf-8" ----------》 pageEncoding="gbk"
    时,文件的编码方式会变成gbk且不会乱码。
    见图:
    修改前:

    修改后:


    2、JSP/servlet中的几种编码的作用
    JSP 中 pageEncoding charset 的区别
    首先,说说JSP/Servlet中的几个编码的作用。
    在JSP/Servlet中主要有以下几个地方可以设置编 码,pageEncoding="UTF-8"、contentType="text/html;charset=UTF-8"、request.setCharacterEncoding("UTF-8")和 response.setCharacterEncoding("UTF-8"),其中前两个只能用于JSP中,而后两个可以用于JSP和Servlet 中。
    1、pageEncoding="UTF-8"的作用是设置JSP编译成Servlet时使用的编码。
    众所周知,JSP在服务 器上是要先被编译成Servlet的。pageEncoding="UTF-8"的作用就是告诉JSP编译器在将JSP文件编译成Servlet时使用的 编码。通常,在JSP内部定义的字符串(直接在JSP中定义,而不是从浏览器提交的数据)出现乱码时,很多都是由于该参数设置错误引起的。例如,你的 JSP文件是以GBK为编码保存的,而在JSP中却指定pageEncoding="UTF-8",就会引起JSP内部定义的字符串为乱码。
    另外,该参数还有一个功能,就是在JSP中不指定contentType参数,也不使用response.setCharacterEncoding方法时,指定对服务器响应进行重新编码的编码。

    2、contentType="text/html;charset=UTF-8"的作用是指定对服务器响应进行重新编码的编码。
    在不使用response.setCharacterEncoding方法时,用该参数指定对服务器响应进行重新编码的编码。
    3、request.setCharacterEncoding("UTF-8")的作用是设置对客户端请求进行重新编码的编码。
    该方法用来指定对浏览器发送来的数据进行重新编码(或者称为解码)时,使用的编码。

    4、response.setCharacterEncoding("UTF-8")的作用是指定对服务器响应进行重新编码的编码。
    服务器在将数据发送到浏览器前,对数据进行重新编码时,使用的就是该编码。


    3、浏览器发送数据和接收数据的编码方案
    JAVA编码转换的详细过程理解—>浏览器和服务器的接收和发送数据的编码
    http://www.360doc.com/content/17/0913/11/33260087_686723511.shtml


    4、老师的编码解决方案
    post方式提交的数据,采用:
    request.setCharacterEncoding(“utf-8”);
    • get方式提交的数据
    – 在server.xml中元素<Connector>中增加属性:
    useBodyEncodingForURI=“true” ,则 上面对get方式提交的
    数据也有效。
    • 通用方法
    – new String(str.getBytes(“iso8859-1”),” utf-8”);

  • 相关阅读:
    Jenkins获取运行job的用户名(在构建历史中展示构建人)
    Android -tool工具UIautomatorviewer提示“不能让屏幕黑屏”
    转: 谈谈关于内存的一些心得体会
    IP地址,子网掩码划分(转)
    重定向子进程控制台程序的输入输出
    正则表达式(1)
    Log4Net使用指南(转)
    使用wireshark抓本机之间的包(转)
    VirtualBox开发环境的搭建详解(转)
    SxsTrace工具使用方法(转)
  • 原文地址:https://www.cnblogs.com/dxwen/p/10901742.html
Copyright © 2011-2022 走看看