试试下面的做法,反正我做是没有问题,呵呵,好运!!!
 
由于JSP是在运行时,由WEB容器进行动态编译的,如果我们没有指定JSP源文件的编码格式,则JSP编译器会获得服务器操作系统的file.encoding值来对JSP文件编译的,它在移植时最容易出问题,如在中文win2k中可以很好运行的jsp文件拿到英文linux中就不行,尽管客户端都是一样的,那是因为容器在编译JSP文件时获取的操作系统的编码不同造成的(在中文wink中的file.encoding和在英文Linux中file.encoding是不同的,且英文Linux的file.encoding对中文不支持,所以编译出来的JSP类就会有问题)。网络上讨论的大多数是此类问题,多是因为JSP文件移植平台时不能正确显示的问题,对于这类问题,我们了解了JAVA中程序编码转换的原理,解决起来就容易多了。我们建议的解决办法如下:1、我们要保证JSP向客户端输出时是采用中文编码方式输出的,即无论如何我们首先在我们的JSP源代编中加入以下一行:<%@page contentType="text/html; charset=gb2312"%>
2、为了让JSP能正确获得传入的参数,我们在JSP源文件头加入下面一句:
<%request.setCharacterEncoding("GB2312");%>
3、为了让JSP编译器能正确地解码我们的含有中文字符的JSP文件,我们需要在JSP源文件中指定我们的JSP源文件的编码格式,具体来说,我们在JSP源文件头上加入下面的一句即可:
<%@page pageEncoding="GB2312"%>或<%@page pageEncoding="GBK"%>
这是JSP规范2.0新增加的指令。
我们建议使用此方法来解JSP文件中的中文问题,下面的代码是一个正确做法的JSP文件的测试程序://testchinese.jsp
<%@page pageEncoding="GB2312"%>
<%@page contentType="text/html; charset=gb2312"%>
<%request.setCharacterEncoding("GB2312");%>
<%
String action = request.getParameter("ACTION");
String name = "";
String str = "";
if(action!=null && action.equals("SENT"))
{
name = request.getParameter("name");
str = request.getParameter("str");
}
%>
<html>
<head>
<title></title>
<Script language="JavaScript">
function Submit()
{
document.base.action = "?ACTION=SENT&str=传入的中文";
document.base.method = "POST";
document.base.submit();
}
</Script>
</head>
<body bgcolor="#FFFFFF" text="#000000" topmargin="5">
<form name="base" method = "POST" target="_self">
<input type="text" name="name" value="" size="30">
<a href = "JavaScript:Submit()">提交</a>
</form>
<%
if(action!=null && action.equals("SENT"))
{
out.println("<br>你输入的字符为:"+name);
out.println("<br>你通过URL传入的字符为:"+str);
}
%>
</body>
</html>

解决方案 »

  1.   

    JBuilder 9自带的tomcat4吧,我另外装了tomcat5,然后试了一下是中文的
    希望路过的帮我顶一下,谢谢各位
      

  2.   

    Tomcat 5 是中文的不就可以了吗?楼主不必太钻牛角了,各种应用服务器乱七八糟的,很多事情很难讲清楚究竟,能用就行了,浪费精力划不来。:)
      

  3.   

    这不是jsp的问题,应该是你的web容器的编码方式不对。我估计它是把中文按utf-8输出了。这样子,你把charset改成"utf-8",在把文件格式存为utf-8格式,然后再试试看?没必要因为一点小事浪费这么长时间,换个服务器就是了。我从来不用各个软件中自带的服务器,一个是版本的问题,还有就是兼容性也有问题。更何况那个是开发环境,你还是拿在真实运行环境下开发比较稳妥。
      

  4.   

    你的网页没有问题,在我这里可以的,估计是你tomcat的问题吧,重下个新的吧。
      

  5.   

    谢谢各位,直接用记事本编辑没有用工具输入快和方便,而eclipse要做各种各样的设置,所以我用JB,看来没这个命,还是老实点了,但我还是希望能解决这个问题
      

  6.   

    这么麻烦吗?直接做个字符过滤器,在dofilter里加句代码不就行了
    request.setCharacterEncoding("GB2312");
      

  7.   

    mxlmwl(飞星) ,你说的有道理,那么说还是用eclipse好了