JSP中contentType、pageEncoding和meta charset的区别
2024-09-06 04:53:41
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
了。
最新文章
- “RazorEngine.Templating.TemplateCompilationException”类型的异常在 RazorEngine.NET4.0.dll 中发生,但未在用户代码中进行处理
- Razor速记
- FragmentActivity_左右滑动的碎片
- Matlab数字信号处理
- ASP.NET 5系列教程 (三):view components介绍
- java 并发编程
- UF2.0、O4、UFT、TA众明星背后的秘密
- socket.io 实例
- 文本相似度算法——空间向量模型的余弦算法和TF-IDF
- httpclient 文件上传
- 在Servlet(或者Filter,或者Listener)中使用spring的IOC容器
- trait技术详解,这次包你学得会
- HDU - 6054 sa + 树状数组套线段树
- SpringBoot上传文件到本服务器 目录与jar包同级
- 解决Docker中运行的MySQL中文乱码
- PDF 补丁丁 0.6.0.3427 版发布(修复提取图片问题)
- BZOJ.4361.isn(DP 树状数组 容斥)
- JAVA编程思想学习笔记7-chap19-21-斗之气7段
- ios成长之每日一遍(day 3)
- iOSUITableView头部带有图片并且下拉图片放大效果