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

最新文章

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

热门文章

  1. java 基本语法(十六)Lambda (三)函数式接口
  2. python 设计模式专题(一):目录篇
  3. 微信小程序动态修改title,动态配置title,动态配置头部,微信小程序动态配置头部
  4. nodejs之数据库连接
  5. nginx: command not found
  6. C++语法小记---多重继承
  7. Linux cut 命令详解
  8. python 中文乱码 list 乱码处理
  9. mybatis连接池
  10. Winform开发中的困境及解决方案