jquery ajax提交中文乱码问题

 $.post jquery提交中文参数服务端获取的参数成乱码问题
对传输的中文参数进行编码
var namecon = encodeURIComponent($("#idName").val());
   $.post("selectresult.do?method=selectExecute4",
     {
      "pageSize":pageSize,
      "num":$("#num").val(),
      "idnum":$("#idnum").val(),
      "name":namecon,
      "selecttype":$("#selectType").val()
      },
      function(data){
        $("#r-r").html(data);
      }, "text");
     }
在服务器端:获取参数
String name= URLDecoder.decode(selectbean.getName(), "UTF-8");

 

2.
JS中的encodeURI()一定会将中文按照UTF-8编码,所以如果传递的参数经过encodeURI编码发送给服务器,那么在服务器端的解码必须指定UTF-8字符集
即 request. setCharacterEncoding(“UTF-8”),然后再从request中获取字符串就可以了

3.只需要转码一次服务器端,ajax客户端可以直接跟参数
menuName = (menuName==null?"":new String(menuName.getBytes("ISO-8859-1")));


 

你可能感兴趣的:(客户端技术,jquery,ajax,服务器,string,function)