2008-05-26

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

关键字: utf-8 中文

案例:静态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的时候,就会出现了空白的页面。

 

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

评论
Ben.Sin 2008-05-27
是这样,JSP文件通过JVM编译成servlet,是服务器运行这个servlet输出html流到客户端,所以客户端得到的是html代码,客户端只负责解析这些html代码

我所说得jsp最终生成html代码只是将整个过程给忽略了
卡拉阿风 2008-05-27
jsp怎么最终会生成html代码的
。。。
LZ对这个解析过程还不是很了解嘛
发表评论

您还没有登录,请登录后发表评论

Ben.Sin
搜索本博客
存档
最新评论