js代码如下:
    var name = encodeURIComponent(document.getElementById("name").value);
    var url = "dutyServlet.jsp?stuName="+name;
    xmlHttp.open("GET",url,true);
    xmlHttp.onreadystatechange =showResult;
    xmlHttp.send(null);
服务端代码:
    String name =URLDecoder.decode(request.getParameter("stuName"),"utf-8");输出的   name:%C3%A5%C2%88%C2%98%C3%A6%C2%B5%C2%A9   

解决方案 »

  1.   

    传的name是中文?要编码的:
    url = "dutyServlet.jsp?stuName="+encodeURI(name);
      

  2.   

    客户端用encodeURI编码要编码两次(第一次会被response.setContentType("text/html;charset=UTF-8");解一次码)
    var url="go.do?name="+encodeURI(encodeURI('张三'));用URLDecoder类的decode方法解码
    String name = request.getParameter("name");
    String decodeName = URLDecoder.decode(name,"utf-8");
      

  3.   

    推荐用post方式提交,按如下方式提交,后台就不用转码了(注意红色字体部分)。
     var para= "stuName="+name;
     xmlHttp.open("POST",url,false);
     xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded;charset=utf-8");                   
     xmlHttp.send(para);服务端代码:
      String name =request.getParameter("stuName");
      System.out.println(name);
      

  4.   

    如果你的服务器是tomcat,可以在server.xml文件中修改<Connector port="8080" protocol="HTTP/1.1"       connectionTimeout="20000"  redirectPort="8443"/>改为<Connector port="8080" protocol="HTTP/1.1"  connectionTimeout="20000"  redirectPort="8443"  URIEncoding="utf-8"/>
      

  5.   

       我就像这样用的,但输出是     name:鍒樻旦,为啥啊。