Board logo

标题: 关于@include和 jsp:include的疑惑 [打印本页]

作者: lanmao3000    时间: 2006-3-30 11:02     标题: 关于@include和 jsp:include的疑惑

chinese.jsp内容如下:
--------------------------
<%@ page contentType="text/html;charset=GBK" %>
<% request.setCharacterEncoding("GBK"); %>
-------end-------------
include.jsp内容:
------------------------------
<HTML>
<HEAD>
        <TITLE> New Document </TITLE>
</HEAD>
<BODY>
        <%@include file="chinese.jsp" %>
        <br>
        十年磨一剑<br>
        Test<br>
        Test<br>
</BODY>
</HTML>

这样 写时中文"十年磨一剑"无法显示,而将 <%@include file="chinese.jsp" %>改为
<jsp:include page="chinese.jsp /> 则OK.

why? 哪位大侠可指点一二? 谢了!
作者: Nothing    时间: 2006-3-30 11:12

中文无法显示是困为在
<HEAD>
        <TITLE> New Document </TITLE>
</HEAD>
之中要指名字符集,因为你使用了GBK,所以一定要指定,否则乱码
<META http-equiv=Content-Type content="text/html; charset=GBK">

不过建议你改成gb2312,这样就不需要指定字符编码了。
<% request.setCharacterEncoding("GBK"); %>
这句就可以去掉。
作者: lanmao3000    时间: 2006-3-30 12:14

多谢指点!加上<meta>那句再去掉<@ page那句,中文是显示出来了。
不过我的本意是想在所有需要解决中文显示的页面中加上chinese.jsp即可解决问题,而不需要每个文件去写。
而且原来的做法只要改成<jsp:include>就OK,原因何在?
作者: Nothing    时间: 2006-3-30 15:34

<META http-equiv=Content-Type content="text/html; charset=GBK">
上面这句是必需加的,如果不加绝对不行,因为这句话告诉浏览器本页使用了中文。




欢迎光临 编程开发论坛 (http://bbs.lihuasoft.net/) Powered by Discuz! 6.0.0