Java代码:
@RequestMapping(value = "/test")
public String test(Model model) {
model.addAttribute("contents", "这是什么意思?");
return "/test/test";
}
jsp页面:
<!DOCTYPE HTML>
<%@ page pageEncoding="UTF-8" contentType="text/html;charset=UTF-8"%>
<html>
<head>
<title>Test</title>
<meta charset="UTF-8"/>
</head>
<body>
<div>你好哇!</div>
<div>${contents}</div>
</body>
</html>
该jsp页面总的有三种编码方式:
pageEncoding="UTF-8"
contentType="text/html;charset=UTF-8"
<meta charset="UTF-8"/>
使用开发工具为 Intellij IDEA 2018.1,项目编码为 UTF-8,测试浏览器为谷歌浏览器,使用 jdk1.8,测试开始:
第一种情况:编码都设置并且为UTF-8,浏览器显示为
image.png
第二种情况:编码都不设置,浏览器显示为
image.png
第三种情况:只写 pageEncoding="UTF-8" 编码,浏览器显示为
image.png
第四种情况:只写 contentType="text/html;charset=UTF-8" 编码,浏览器显示为
image.png
第五种情况:只写 <meta charset="UTF-8"/> 编码,浏览器显示为
image.png
第六种情况:只写 pageEncoding="GBK" 编码,浏览器显示为
image.png
第七种情况:只写 contentType="text/html;charset=GBK" 编码,浏览器显示为
image.png
第八种情况:只写 <meta charset="GBK"/> 编码,浏览器显示为
image.png
第九种情况:写两种编码方式并指定不同编码
pageEncoding="UTF-8" contentType="text/html;charset=GBK"
或者
pageEncoding="GBK" contentType="text/html;charset=UTF-8"
浏览器显示为
image.png
测试结果:字符编码在有录入中文字符的情况下是不会乱码的。
如有出入,欢迎评论!
网友评论