value = request.getParameter(name).getBytes("ISO-8859-1"),"GBK");

解决方案 »

  1.   

    package beans ;
    public class  ISOtoGB2312
    {
    public  String getConvert(String str) 
    {
    try
    {
    byte[] byteStr=str.getBytes("ISO-8859-1");
    return new String(byteStr,"gb2312");
    }
    catch(Exception e)
    {
    return str;
    }
        }
    }这是一个经常遇到的问题,你可以写一个简单的javabean,以后在显示表单传递的中文数据时先转换一下!调用方式:<%@page contentType="text/html;charset=GB2312"language="java"import="java.util.Enumeration" %>
    <jsp:useBean id="chage" scope="session" class="beans.ISOtoGB2312"/> //引用javabean<html>
    <head>
    <title>Value Of Name</title>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    </head><body bgcolor="#FFFFFF" text="#000000">
    <form name="form1" method="post" action="">
      <!--定义表单数据-->
      <input type="hidden" name="隐藏域" value="值">
      <input type="text" name="文本域">
      <input type="submit" name="Submit" value="提交按钮">
    </form>
    <p>
      <%
    //提取“名”集合
    Enumeration names = request.getParameterNames();
    String name,value;
    for(Enumeration e=names;e.hasMoreElements();)
    {
    name = chage.getConvert(e.nextElement().toString());//调用javaBean的getConvert方法
    value = chage.getConvert(request.getParameter(name));
    out.println("<p>");
    out.println("'"+name+"'"+"的值是"+"'"+value+"'");
    out.println("</p>");
    }
    %>
    </p>
    </body>
    </html>
    试试看!以后都可以使用这个JavaBean !
      

  2.   

    通常把经常用的功能写成Javabean 是很方便的! 强烈推荐
      

  3.   

    通过javaBean得到的网页上中文信息转换一下编码就可以了
      

  4.   

    String s = new String(str.getBytes("ISO-8859-1"),"gb2312");
      

  5.   

    首先谢谢各位!!! 我的jsp配置是java1.41+tomcat4.1to Wnyu(西门吹水) & Gulfing(心如止水) 
    我已经试过用你们的方法,不过在点击按钮后返回的页面是error report ,root cause是java.lang.NullPointerException, 请问如何解决?to seaman0916(沙漠孤鹰) 
    我也用过你的方法,我把class文件跟页面文件放在同一个文件夹,我也试过把class文件打包成jar文件,然后在环境变量classpath添加bean.jar所在的路径,但都是同一个错误package beans does not exist,请问如何是好?再次麻烦各位!
      

  6.   

    看一下这篇文章:http://www.clocksix.com/J2eeChinese
      

  7.   

    你定义一个METHOD
    加个方法:
    <%!public getStr(String str) throws Exception
      {    
        String temp=str;
        byte[] temp_p=temp.getBytes("ISO-8859-1");
        return new String(temp_p,"GBK");;
       }
    %>
    然后在插入数据库之前将有中文的变量用这个方法将变量转换一下:
    String text=null;
    if(request.getParameter("text")!=null&&request.getParameter("text")!="")
    {
       text=getStr(request.getParameter("text"));
     }
      

  8.   

    在action.jsp中
    <%
    request.setCharacterEncoding("GBK");
    %>
      

  9.   

    加在接收变量的语句前就行了.一个jsp文件一句就行.注意在jdk 1.3之后才好用
      

  10.   

    to:seaman0916(沙漠孤鹰)
    结果为什么是这样的啊?'隐藏域'的值是'null' '文本域'的值是'null' 'Submit'的值是'提交按钮' 
      

  11.   

    public static String funToChinese(String strvalue) {
    try
    {
    if(strvalue==null)
    {
    return null;
    }
    else
    {
    strvalue = new String(strvalue.getBytes("ISO8859_1"),"GB2312");
    return strvalue;
    }
    }
    catch(Exception e)
    {
    return null;
    }
    }
    在你的程序里加入这段代码,然后把你要引用的值通过funToChinaese()来转换试试看吧。应该没有问题的啦。
      

  12.   

    to:squallzeng(小呆呆)
    不加还好,加上的结果如下:
    '???'的值是'null' '???'的值是'null' 'Submit'的值是'????' 
      

  13.   

    是不是你的运用写的不对呢?还有就是你的值应该先转换成String后再运用funToChinaese()才可以的啦。你再试试吧。应该没有问题的,我的都是这样实现的哦。
      

  14.   

    晕不知道你是怎么来测试的
    调式你的程序是完全正确的
    到是加了某些东西就是错误大大的
    害的搞古了半天
    我的jsp配置是java1.3.1(用的还是JB7里自带的)+weblogic6.1