页面一:
<FORM name="form1"  METHOD="POST" ACTION="FiReadFileResult.jsp?name=newName" ENCTYPE="multipart/form-data">
<% newName = "姓名";%>页面二:
<%
   String name = request.getParameter("name");
   System.out.println(name);
%>后台打印的name的值显示乱码。request.setCharacterEncoding("GB2312"); 
request.setCharacterEncoding("GBK");
name = new String(name .getBytes(“ISO-8859-1”),”GBK”);这几种方法我全试过了,可还是不行!
要怎么处理才能正常显示中文?请高手们指教!

解决方案 »

  1.   

    页面一改为:
    <% newName = "姓名";%>
    <FORM name="form1"  METHOD="POST" ACTION="FiReadFileResult.jsp?name=<%=newName%>" ENCTYPE="multipart/form-data">
      

  2.   

    <FORM name="form1"  METHOD="POST" ACTION="FiReadFileResult.jsp?name=<%=newName%>" ENCTYPE="multipart/form-data">
    <% newName = "姓名";%>
      

  3.   

    建议在web.xml里配置filter。
    可以看看这里:http://blog.csdn.net/yun15291li/archive/2005/05/04/372142.aspx
      

  4.   

    楼上,你说说的http://blog.csdn.net/yun15291li/archive/2005/05/04/372142.aspx这里让配置web.xml,要怎么配置??
      

  5.   

    关注,我也遇到过,挺烦人的。jsp不知什么时候就出莫名其妙的错误
      

  6.   

    ENCTYPE="multipart/form-data"
    把上面这句去掉试一试看
      

  7.   

    其实解决 JAVA 程序中的汉字编码问题的方法往往很简单,但理解其背后的原因,定位问题,还需要了解现有的汉字编码和编码转换。相信这样的东西大家都见过了
    new String(request.getParameter("test").getBytes("iso-8859-1"),"GBK")
    但这样的代码相信不是一个解决的办法,这样会增加程序的复杂度,写数据库,提交表单,URL中传中文参数,到处都是中文问题!作为一个连走路都要算计最短距离的懒人,当然不愿天天叨念着new String(request.getParameter("test").getBytes("iso-8859-1"),"GBK"),然汉战战兢兢的处理各种字符转换的问题,我跋山涉水,翻山越岭,终于找到了完美的解决方式,在TOMCAT中只需要简单的配置,引入2个文件就可以轻松搞定。
    前提条件,每个页面使用
    <%@ page contentType="text/html; charset=GBK" language="java" import="java.sql.*" errorPage="" %>
    <meta http-equiv="Content-Type" content="text/html; charset=GBK">
    步骤1:添加过滤器
    在TOMCAT中找到这2个文件RequestDumperFilter.java,SetCharacterEncodingFilter.java,他们位于D:\Tomcat5.0.27\webapps\jsp-examples\WEB-INF\classes\filters,加到你的工程文件里去,编译他们。
    步骤2:配置WEB.XML
    在web.xml里加入这一段
    ……
    <filter>
    <filter-name>Set Character Encoding</filter-name>
    <filter-class>filters.SetCharacterEncodingFilter</filter-class>
    <init-param>
    <param-name>encoding</param-name>
    <param-value>GBK</param-value>
    </init-param>
    </filter>
    <filter-mapping>
    <filter-name>Set Character Encoding</filter-name>
    <url-pattern>/*</url-pattern>
    </filter-mapping>
    ……
    这样你就不用写那些麻烦的转换代码了,当然这样还不足以解决问题。
    步骤3:修改server.xml
    在server.xml修改2个地方
    <Connector port="8080" maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
    enableLookups="false" redirectPort="8443" acceptCount="100" debug="0" connectionTimeout="20000" disableUploadTimeout="true" URIEncoding='GBK'/>
    <Connector className="org.apache.coyote.tomcat5.CoyoteConnector" port="8009" minProcessors="5" maxProcessors="75" enableLookups="true" redirectPort="8443"
    acceptCount="10" debug="0" connectionTimeout="0" useURIValidationHack="false" protocol="AJP/1.3" protocolHandlerClassName="org.apache.jk.server.JkCoyoteHandler" 
    URIEncoding='GBK'/>