发新话题
打印

关于@include和 jsp:include的疑惑

关于@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? 哪位大侠可指点一二? 谢了!

TOP

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

不过建议你改成gb2312,这样就不需要指定字符编码了。
<% request.setCharacterEncoding("GBK"); %>
这句就可以去掉。

TOP

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

TOP

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

TOP

发新话题