今天在做CRM项目的时候 发现要用到Ajax,但是到了Action中就成了乱码了!不清楚是怎么一回事情,编码格式是UTF-8
                就是不行,希望高手门帮帮忙 帮小弟解决下 谢谢!

解决方案 »

  1.   

    在页面上对传输的中文用:encodeURI(encodeURI(param))
    在action中URLDecoder.decode(request.getParameter("param"),"utf-8");
      

  2.   

      呵呵!你试过吗?? 我不怎么清楚, 在页面上这句话应该写在哪里 啊 encodeURI(encodeURI(param)) 
      

  3.   

    表单的数据与ActionForm的属性绑定的也行?????
      

  4.   

    AJAX 都用的utf-8编码。 如果不是,要改过来
      

  5.   

    这句话怎么在Action 用不了 URLDecoder.decode(request.getParameter("param"),"utf-8"); 
      

  6.   

    response.setCharacterEncoding("utf-8");
    这样就可以了吧
      

  7.   

    先将你要传的参数 也是就ajax代码里:URIComponnet(value);
    在action里:
    String FValue = request.getParameter("..");
     String  value = new String(FValue.getBytes("ISO-8859-1"),"UTF-8");
      

  8.   

    lz
       您有二级下拉框联动的action里的代码没。给我发发。看看。
      

  9.   

    response.setContentType("application/json; charset=utf-8");
    response.setHeader("Cache-Control", "no-cache");
      

  10.   

    把AJAX改成POST方式提交,在使用request之前设置编码(用过滤器设置)。
      

  11.   

    在页面上对传输的中文用:encodeURI(encodeURI(param))
    Action 就不需要再对字符转码了
    response.setCharacterEncoding("utf-8");
    tomcat 字符集utf-8 这样就行咯
      

  12.   

    发个例子,话就不多说了,刚刚尝试写的function test()
    {
    window.location.href=encodeURI("test/add.do?id=我爱您中国");
    }        String gb=request.getParameter("id");
            String s=new   String(gb.getBytes( "ISO8859_1"), "utf-8");  
            System.out.println("id is"+s);结果可以打印我爱您中国