有一处写错了,第二次得到key是ä½时的url是http://xxx.xx.xx?key=%E4%BD%A0

解决方案 »

  1.   

    你用的web容器是什么?还有那个发送关键字的页面编码是什么?
    如果页面编码是utf-8而且用的是tomcat的话试试给server.xml中的Connector标签加上URIEncoding="UTF-8"这个属性看看
    或者在url发送关键字的时候先将关键字编码为iso8859-1看看
      

  2.   

    url后面传中文参数是用的get方式提交,而get方式传参采用的编码是iso-8859-1.所以会出现上面的问题。
    解决方法有两个,一是使用post传参
    二是将中文转码后再传。
      

  3.   

    java.net.URLEncode编码再传,传过去以后再用java.net.URLDecode解码
      

  4.   

    在接受URL传值
    String name=request.getParameter("name");
    之前,加上
            request.setCharacterEncoding("utf-8");
      

  5.   

    你去hi.baidu.com/rascal_hu看看吧,里面有篇文章可能对你有点帮助,看了你的提问,感觉不是很清晰
      

  6.   

    发送方参数先编码
    String url = "http://xxx.xx.xx?key=投名状";
    url = URLEncoder.encode(url,"UTF-8");
    // 然后你发送出去在接收方
    request.setCharactorEncoding("UTF-8");
    String key = request.getParameter("key");
    // OK
      

  7.   

    String key = new String(request.getParameter("key").getBytes("ISO8859-1"));用这个试下,不行的话,改改后面的编码,总有一格编码方式行的。感觉这个比较方便