注册 登录
编程论坛 J2EE论坛

不能显示中文怎么半?

无赖 发布于 2007-11-05 17:06, 1115 次点击

下面是jsp文件:
<%@ page language="java" contentType="text/html; charset=gb2312"
%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>include实验</title>
</head>
<body>
<%@ include file="123.html" %>
</body>
</html>

下面是html文件:
<HTML>
<HEAD>
<TITLE>Html File</TITLE>
</HEAD>
<BODY>
这是加载的 html 文件
</BODY>
</HTML>
_________________
在调用时html文件里的中文不显示出来,而是"?????????? html ???? ".


高手留言啊!!!!

11 回复
#2
无缘今生2007-11-05 17:53
<%@ page language="java" contentType="text/html; charset=gb2312" %>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>include实验</title>

就是这里的问题.
#3
无赖2007-11-05 18:10

可是我把"<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">"删了,或者把 charset=ISO-8859-1改成gb2312都还是不行...是怎么回事啊??

#4
a2762024602007-11-05 19:27
charset=ISO-8859-1"去掉
<%@ include file="123.html" %>
该成<jsp:include>标签试试
#5
无缘今生2007-11-06 21:27
我也搞不懂了:
为什么用<jsp:include page="123.html" />可以正确显示中文;
而用<%@ include file="123.html" %>则不能显示;
这是不是和它们的工作原理有关呢;
它们两者的工作原理各是怎么样的呢...
#6
无赖2007-11-08 13:29
顶5楼的问题!!请高手继续解答!!!!

#7
矿泉水wz2007-11-08 15:32
添加一个过滤器&lt;filter&gt;
#8
csight2007-11-08 22:49
http://bbs.chinajavaworld.com/message.jspa?messageID=646521
大家参考一下就知道了这是Tomcat的原因;
但是同时
<jsp:include page="123.html"/>和<%@ include file="123.html"%>
也是有区别的,以下是他们各自编译成Servlet文件后的语句:
<%@ include file="123.html"%>
对应的是:out.write("ÕâÊǼÓÔØµÄ102 html Îļþ\r\n");
<jsp:include page="123.html"/>
对应的是:org.apache.jasper.runtime.JspRuntimeLibrary.include(request, response, "123.html", out, false);

PS:提醒lz包含文件中最好不要含有<html></html><body></body>


[此贴子已经被作者于2007-11-8 22:50:16编辑过]

#9
千里冰封2007-11-09 09:31
楼上的例子不错
#10
blackboy2007-11-10 23:27
<jsp:include page="123.html" />
<%@ include file="123.html" %>

两者的编译方式不一样 一个是单独编译再与其他页面整合 一个是先包起来再一起编译

我想是不是这个原因呢
#11
csight2007-11-10 23:34

应该不是,我看过书上,也查过网上,Tomcat中不行,而Resin中行;

#12
tblovecj2007-11-10 23:40
我也从没用过这种方法来解决中文显示问题
一般改了GB2312不行的话就在Servlet里加上request/response.setCharacterEncoding("gb2312")
如果还不行,那就自己写一个类,将字符串传到那个类,转换好再返回一个字符串,或者这个类方法可以直接写到JavaBean里
1