其他浏览器没乱码,就IE有,我擦。。今天下午通过extjs给jsp发送中文数据,在网络上查了大把资料试过了:
1.request.setCharacterEncoding("gb18030");不行
2.new String(content.getBytes("ISO-8859-1"),"gb18030");不行
3.改tomcat的server.xml文件也不行
折腾了一个下午,最后想到以前的一个做法,在js文件中encodeURI(“中文数据”),然后在服务器端
URLDecoder.decode(“中文数据”, "utf-8");我擦。。这样竟然可以。。恭喜我..给大家分享分享心得,大伙有更好
的建议也可以提出来。。

解决方案 »

  1.   

    encodeURI()是不是 要编码两次才可以啊。我用过这个,每次都是编码两次才可以。
      

  2.   

    encodeURI(encodeURI(“中文数据”))
    URLDecoder.decode(“中文数据”, "utf-8");
      

  3.   

    要是java是中国人写的就不会有乱码问题了 期待吧
      

  4.   

    楼主都用上Extjs了,还encodeURI干嘛啊。现成的Ext.encode()不用
      

  5.   

    firefox没有乱码,放到IE里有乱码。IE不会给你把汉字转码的,火狐就会自动转
      

  6.   

    貌似是 从用JS的get方式传递参数。应该只有IE6,7 有问题吧。 试试 encodeURIComponent(Param)
      

  7.   

    奇数个汉字有乱码,偶数个没有吧?详见:http://topic.csdn.net/u/20070904/18/b9e12d52-57f8-44de-86da-65c191fb93b2.html
      

  8.   

    byte []b=request.getParameter(传送的数据).getBytes("iso-8859-1");
    String s=new String(b);
    我一直是用这个办法,
      

  9.   

    java 赋值的时候会默认解一次码 不过解码不对,所以再前台编两次码,在后台抵消一次,再解一次码就刚好了。
      

  10.   

    encodeURI(encodeURI(para.loguser_name))"para.loguser_name"为你传的值。在js里面解两次码就可以了
    火狐、google都么事,就IE