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了。

  • 相关阅读:
    PHP版本VC6与VC9/VC11/VC14、Thread Safe与None-Thread Safe等的区别
    Django 开发------django-crontab实现服务端的定时任务
    django HTML 数据处理
    HTML 罗盘式时钟
    Tcpdump 常用命令、参数记录
    jquery 实现 <imput>标签 密码框显示/隐藏密码功能
    Django 实现分页功能(django 2.2.7 python 3.7.5 )
    bootstrap 4 学习笔记
    IIS属性解析
    IIS站点权限设置
  • 原文地址:https://www.cnblogs.com/gzhjj/p/12523534.html
Copyright © 2011-2022 走看看