案例:静态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的时候,就会出现了空白的页面。
如有错漏的请指正,万分感谢。