前提:我的项目中用gbk编码,这个是不能改的
   查询模块中,用 Ext.data.Store            var store = new Ext.data.Store({......});          var search  = function() {
        //text_search_title 是查询文本框,此处的值还是gbk的,不是乱码
       store.baseParams.conditions = text_search_title.getValue();
      store.load({params : {start :0,limit : 15}}); 
     }
但是ext 内部使用的是utf-8编码,这样乱码就产生了,请问,有什么办法解决这个问题吗?

解决方案 »

  1.   

    想办法转码 
    1.只转ext 使用部分的
    2.使用部分过多都通过配置设置转变项目的(不改变你的项目硬设置的情况下)
      

  2.   

    关键就是怎么转换?有办法转换ext的编码吗?
      

  3.   

    在转到 ext 之前转成 utf8 可不可以?
      

  4.   

    在返回json字符串之前 将它转换成utf-8
      

  5.   

    解决掉了,就是在给baseParams.conditions赋值之前做个转化:
     var search  = function() {   
           store.baseParams.conditions = encodeURIComponent(text_search_title.getValue()); 
          store.load({params : {start :0,limit : 15}}); 
     }
    在action 中,取ext传得值时,再处理一下:String name = request.getParameter("conditions");
    name =java.net.URLDecoder.decode(name , "utf-8");就可以了