http://127.0.0.1:8080/a.jsp?name=URLEncoder.encode("李四")

解决方案 »

  1.   

    需要encodeing,把"中文"
    从gbk转iso88591机器的location set 成chinapublic static String GBKToIso(String a_strValue)
      {
        try
        {
          String tempstr=new String(a_strValue.getBytes("GBK"),"iso-8859-1");
          return tempstr;
        }
        catch (Exception e)
        {
          return a_strValue;
        }
      }
    这个方法不能用么?
    如果不行,再a.jsp中再把这个parameter从iso-8859-1转到gbk
      

  2.   

    直接从ie的地址栏里敲进去是有很大问题的.ie会对它encode,会把所有byte大于255的转成63也就是'?'
    可能需要对它从新设定encode的方法,在ie的选项中有一个繁的结局方案是对它预先encode,把所有大于255的变成space+取反(255)的两byte,到时候再转回来
      

  3.   

    不行呀,我以上的方法我都试过了,不行,有没有好的解决方法呀!my god!!!!!
      

  4.   

    String req=URLEncoder.encode("name=李四")
    http://127.0.0.1:8080/a.jsp?<%=req%>
      

  5.   

    直接从ie的地址栏里敲进去的话用URLDecoder.decode(request.getParameter("name"))试试
      

  6.   

    在你的JSP中要加上<%@page contentType="text/html;charset=gb2312" %>
    一定行
      

  7.   

    不过在href中url传递参数是不能传中文的(没办法),用submit可以,换种方式吧
      

  8.   

    你现在用的是querystring传递中文,这是get的方式,url会将其编码为%HH组合,应该可以直接使用request.getParameter("name")获取,如果用表单传递,get方式不用编码,post方式则需要从iso8859_1转为gbk才能获取正确的字符