url传递参数乱码,以前用ajax的时候碰到过,如果提交的中文字符少的话,用加密算了如果多的话,就比较麻烦,要考虑特殊字符

解决方案 »

  1.   

    你用EL标签试试,
    a.jsp?name=request.getAttribute("name") 
    a.jsp?name=${name}
      

  2.   

    忘记了,你的JSP页面有没有加<%@ page language="java" pageEncoding="GBK"%>
      

  3.   

    <%@ page language="java" pageEncoding="UTF-8"%>    UTF-8
      

  4.   

    确保jsp页面,以及后台程序等,所有地方设置统一编码。
      

  5.   

    现在已经是这样<%@ page language="java" pageEncoding="GBK"%>全部的jsp页面已经都是GBK编码
      

  6.   

    把取得的参数进行转码:String name = request.getParameter("name");String result = new String(name.getBytes("ISO-8859-1"),"UTF-8");
      

  7.   

    String name = request.getParameter("name");String result = new String(name.getBytes("ISO-8859-1"),"GBK");
    建议使用过滤器来过滤
      

  8.   

    when u using get method to transfer the variable pls useString name=Encoder.encode(str);
    then 
    put it into ur urlwhen in the page u jumped or redirected,use 
    String name=Decoder.decode(str);to get the correct the chinese info.
      

  9.   

    首先楼主可能把request.getAttribute和request.getParameter从本质上搞混了,前者所获得的是request对象的一个属性,它可以是任何值类型。
    后者是request对象的一个方法,是获得http请求的响应消息,这个消息是一个个的键值对,存储的只能是字符串。
    再者,使用get方法时,过滤器是没用的,过滤器只对post方法管用。
      

  10.   

    tince say it rightu can only use my method
      

  11.   

    我也碰到过这个问题,已经解决
    1.页面设置pageEncoding="GBK"
    2.把tomcat的server.xml文件中找到<Connector…………,在后面加上URIEncoding="GBK"/>搞定!
      

  12.   

    get中最好不要加中文解决方法可以参考我们教程中的一个例子:
    http://family168.com/tutorial/jsp/html/jsp-ch-02.html#jsp-ch-02-02-03
      

  13.   

    现在JSP页面URL中传中文好像也没有一个很好的解决方法,中文传递尽量用post吧!
      

  14.   

    to:lifetragedy
    转码我已经用了这个了java.net.URLEncoder.encode( “测试”,"UTF-8")
    但是还是不行
      

  15.   

    我上面已经说过了,使用get方法时,只能用一种转码方式,(至少我知道的只有一种)
    String username = new String(request.getParameter("username").getBytes("ISO8859_1"),"GBK");
      

  16.   

    在server.xml中加入<Connector…………,在后面加上URIEncoding="GBK"/> 
    现在在jsp中的编码问题已经解决但是又有新的问题了因为这个程序由 2部分组成的
    全都是jsp的部分现在已经正常但是用struts写的部分又有问题了,现在post 方法用转码  
    String username = new String(request.getParameter("username").getBytes("ISO8859_1"),"GBK");
    这样子 一切ok,但是get方法就有问题了
    在没进行转码之前 就是正确的中文  这个问题要怎么解决呢?
    谢谢!
      

  17.   

    你在JSP接收页而写入如下代码:
    request.setCharcterEncoding("GBK");
    "setCharcterEncoding"这个方法可以在一个Servlet类中通过reqeust点出来
    当然你要继续传下去的话可以用response.setCharat..进行格式化后传出