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”);

  • 相关阅读:
    sfs2x 连接 mongodb
    java websocket
    webstorm 4.0 注册码
    解决 sfs2 admin tool 找不到扩展
    window 注册表五大类
    opengl 学习第二日
    java google Protobuf
    扩展 java sencha touch PhonegapPlugin
    sencha touch2 kryonet socket phonegap 通信 作者:围城
    sencha touch2 layout 笔记
  • 原文地址:https://www.cnblogs.com/dxwen/p/10901742.html
Copyright © 2011-2022 走看看