目前研究jqgrid,实现了JQgrid加载,增删改查的功能,遇到乱码问题,请求指教,我已经GOOGLE了很久无果。在使用JQGRID的ADD功能时,提交上来的中文会变成乱码,有人说可能是编码的问题,但是我WEB默认都是使用utf-8的啊。
请大家指教,怎么设置这个编码,我的JSP中有
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
这个,在我后台的ACTION中,要怎么做,才能明确的指出过来的数据用UTF-8?ACTION的数据使用的是modelDriven。
就是在打印上传过来的数据的时候,比如: System.out.println(modelUserRover.getUserName());这个username就是乱码。请指教。

解决方案 »

  1.   

    前台escape()编码,后台如果是.net用Microsoft.JScript.GlobalObject.unescape()解码
      

  2.   

    java就不知道对应的是什么了。
      

  3.   

    就是在传到后台前,用escape编码一下,后台取到 再解码。
      

  4.   

    谢谢,学习到了研究encodeURIComponent这些东西了,不过问题依旧,如此以往也不是办法,我改用ID然后查询吧。
      

  5.   

    1.在jquery.jqGrid.min.js和jquery.min.js里面encodeURIComponent的地方再encodeURIComponent一层。注明:
    jQuery版本:1.6.2;jqGrid版本:4.1.2
    改后:b=encodeURIComponent(encodeURIComponent(b)).replace(/[.\-%]/g,"_");
    e=function(a,b){b=f.isFunction(b)?b():b,d[d.length]=encodeURIComponent(encodeURIComponent(a))+"="+encodeURIComponent(encodeURIComponent(b))};
    2.后台agentCity = java.net.URLDecoder.decode(request.getParameter("agentCity"), "UTF-8");
      

  6.   

    在tomcat对应的端口设置里添加
    useBodyEncodingForURI=”true”
    告诉tomcat用页面的编码去处理post