Topic: 为什么不能为汉字?

  Print this page

1.为什么不能为汉字? Copy to clipboard
Posted by: yangxg_a
Posted on: 2005-12-05 10:55

我在下面的JSP文件中静态插入了一个名为 Hello.txt 的文本文件,为什么当这个文本文件里的内容不是汉字时就显示正确,是汉字时就连编译都通不过啊?在程序开头第一句不是已经定义成可以显示汉字了吗?另外,这段程序是书上的源程序,我不知道这个 H3 标签是什么意思,麻烦各位指教一下。

<%@ page contentType="text/html;charset=GB2312" %>
<HTML>
<BODY bgcolor=cyan>
<H3>
<%@ include file="Hello.txt" %>
</H3>
</BODY>
</HTML>

2.Re:为什么不能为汉字? [Re: yangxg_a] Copy to clipboard
Posted by: ntshenwh
Posted on: 2005-12-05 11:17

hi,
你可能需要用到下面的代码,请参考:

import="java.io.*"

try
{

out.println(new String(request.getParameter("newsCategory").getBytes("ISO8859_1"),"GBK"));

}
catch( UnsupportedEncodingException e)
{
e.printStackTrace();
}

you may refer to “http://www.cnsdn.com.cn/inc/show.asp?id=2196”

good luck

3.Re:为什么不能为汉字? [Re: yangxg_a] Copy to clipboard
Posted by: yangxg_a
Posted on: 2005-12-05 12:29

ntshenwh ,你写的这段程序添加到哪里啊?

4.Re:为什么不能为汉字? [Re: yangxg_a] Copy to clipboard
Posted by: ntshenwh
Posted on: 2005-12-05 13:08

hi,
我写的方法只是在当前网页中能让中文正常显示,至于你用 include 这种方法,我没有尝试过,你可能需要到网search一下。不好意思!
http://www.cnsdn.com.cn/inc/show.asp?id=2196

5.Re:为什么不能为汉字? [Re: yangxg_a] Copy to clipboard
Posted by: yangxg_a
Posted on: 2005-12-05 17:40

哦,还是谢谢了:)
还有哪位大侠知道,指教一下啊?

6.Re:为什么不能为汉字? [Re: yangxg_a] Copy to clipboard
Posted by: yangxg_a
Posted on: 2005-12-05 17:49

如果改成下面这样也能正常显示。谁能告诉我为什么?

<%@ page contentType="text/html;charset=GB2312" %>
<HTML>
<BODY bgcolor="cyan">
<H3>
你们好,很高兴认识你们啊。
</H3>
</BODY>
</HTML>

7.Re:为什么不能为汉字? [Re: yangxg_a] Copy to clipboard
Posted by: ntshenwh
Posted on: 2005-12-06 08:56

hi,
<%@ page contentType="text/html;charset=GB2312" %>
<HTML>
<BODY bgcolor="cyan">
<H3>
你们好,很高兴认识你们啊。
</H3>
</BODY>
</HTML>

我理解为:
1)这段文字不管是中文还是英文,JSP解析器会认为是简单的html页面中的文本,所以不会涉及到编码问题。如果用用了JSP的include指令<% include file='ddd.txt'%>或 jsp 动作 <jsp:include>,jsp就会将里面的内容做字符的转换。
2)如果是简单的文本要包含的页面中,我建议你用 BufferedReader类将它读到当前页面中,然后再out.println()。 include指令一般用来包含静态的页面,而include动作用来包含动态的页面(即使页面被更改了,也能及时的反映到当前引用它的页面)

不知道解释的对不对,希望高手也能指点指点

good luck

8.Re:为什么不能为汉字? [Re: ntshenwh] Copy to clipboard
Posted by: bigfoot007
Posted on: 2005-12-06 16:57

一种更简单的做法就是将你要载入的文本文件使用JDK自带的native2ascii工具进行转换,即可。
native2ascii -encoding gb2312 ddd.txt ddd1.txt

native2ascii -encoding gbk ddd.txt ddd1.txt

ntshenwh wrote:
hi,
<%@ page contentType="text/html;charset=GB2312" %>
<HTML>
<BODY bgcolor="cyan">
<H3>
你们好,很高兴认识你们啊。
</H3>
</BODY>
</HTML>

我理解为:
1)这段文字不管是中文还是英文,JSP解析器会认为是简单的html页面中的文本,所以不会涉及到编码问题。如果用用了JSP的include指令<% include file='ddd.txt'%>或 jsp 动作 <jsp:include>,jsp就会将里面的内容做字符的转换。
2)如果是简单的文本要包含的页面中,我建议你用 BufferedReader类将它读到当前页面中,然后再out.println()。 include指令一般用来包含静态的页面,而include动作用来包含动态的页面(即使页面被更改了,也能及时的反映到当前引用它的页面)

不知道解释的对不对,希望高手也能指点指点

good luck

9.Re:为什么不能为汉字? [Re: yangxg_a] Copy to clipboard
Posted by: yangxg_a
Posted on: 2005-12-07 10:40

又试了一下,如果内嵌的是JSP文件,那么在调用和被调用的JSP文件中都加上一句<%@ page contentType="text/html;charset=GB2312" %>,那么嵌入的JSP文件中的中文就能正常显示,否则也不能正常显示,但如果嵌入的是普通的文本文件,那又该怎么办呢?没有人说一下吗?


   Powered by Jute Powerful Forum® Version Jute 1.5.6 Ent
Copyright © 2002-2021 Cjsdn Team. All Righits Reserved. 闽ICP备05005120号-1
客服电话 18559299278    客服信箱 714923@qq.com    客服QQ 714923