zoukankan      html  css  js  c++  java
  • JSP中contentType、pageEncoding和meta charset的区别

    1.创建JSP

    使用Eclipse创建JSP文件:

    <%@ page language="java" contentType="text/html; charset=ISO-8859-1"
        pageEncoding="ISO-8859-1"%>
    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="ISO-8859-1">
    <title>Insert title here</title>
    </head>
    <body>
    
    </body>
    </html>
    

    注意到这里出现了三个ISO-8859-1,这是使用Eclipse创建的JSP文件默认的字符集编码。

    2.解决乱码问题

    我们会毫不犹豫地将字符集编码设置为UTF-8,因为我们可能会在页面中使用中文。

    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
    <!DOCTYPE html>
    <html>
    <head>
    <!-- <meta charset="UTF-8"> -->
    <title>Web应用</title>
    </head>
    <body>
    Hello Java Web!<br/>
    你好!
    </body>
    </html>
    

    注意:这里即使把<meta charset="UTF-8">这行代码注释了,也不会出现乱码问题。

    如果把字符集编码设置都去掉,就会出现乱码问题。因为JSP不设置字符集编码时,默认字符集编码为ISO-8859-1

    <%@ page language="java" contentType="text/html;" %>
    

    如果只设置一处字符集编码为UTF-8,也不会出现乱码问题。比如:

    <%@ page language="java" contentType="text/html; charset=UTF-8" %>
    
    <%@ page language="java" contentType="text/html;" pageEncoding="UTF-8" %>
    

    3.结论

    ① contentType字符集(contentType="charset=UTF-8")是运行JSP的servlet容器(例如Tomcat)如何将页面生成的文本发送到浏览器。
    ② pageEncoding指定将JSP保存到磁盘上使用的字符集编码。
    ③ 在JSP中指定字符集编码的最佳实践:

    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
    

    在Eclipse中设置JSP字符集编码(Window->Preferences):

    之后每次新建JSP文件,字符集编码就默认为UTF-8了。

  • 相关阅读:
    sql 时间函数大全
    JavaScript代码收集
    inno setup打包.netframework
    Mono for Android 安装配置方法 附破解版
    恢复Reflector反编译后资源文件的办法
    sql时间格式转换
    函数式编程
    获取Java程序运行的路径 | 获取当前jar包的路径
    CIPAddressCtrl类的使用(IP地址与CString的互相转化)
    java的System.getProperty()方法可以获取的值
  • 原文地址:https://www.cnblogs.com/gzhjj/p/12523534.html
Copyright © 2011-2022 走看看