JSP学习笔记-JSP002 中文字符问题

案例:静态html设置了utf-8格式,title还有keywords都有中文,而且有的时候是繁体的,比如一下片断

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
	<title>中文标题</title>
	<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
	<meta http-equiv="Pragma" content="no-cache"/>
	<meta content="中文描述" name="description"/>
	<meta content="关键字" name="keywords"/>
</head>
<body>
...
</body>
</html> 

 但是有时会出现很奇怪的现象-页面无法显示,选择源文件确切看到代码是存在的。

 

解决方法:将字符集的声明放到最前面,例如

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
	<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
	<title>中文标题</title>
	<meta http-equiv="Pragma" content="no-cache"/>
	<meta content="中文描述" name="description"/>
	<meta content="关键字" name="keywords"/>
</head>
<body>
...
</body>
</html> 

 这样就可以很好地将页面信息显示出来了

 

个人理解:JSP最终生成的也是html代码然后下载到客户端由浏览器解析显示。由于html是由上而下解析的,案例中字符集声明在head的第二行,第一行的title所包含的中文被浏览器的默认字符集解析,如果是繁体而游览器默认字符集不是big5、或者简体而浏览器默认字符集不是gb2312的时候,就会出现了空白的页面。

 

如有错漏的请指正,万分感谢。

你可能感兴趣的:(jvm,html,jsp,servlet,浏览器)