很奇怪的问题,同一个项目在我自己电脑上没乱码,部署到别人电脑上就中文乱码。我项目里过滤器设置的是UTF-8,JSP编码也是UTF-8,MYSQL里建表制定的编码也是UTF-8,my.ini文件里也是UTF-8。开始以为是电脑系统不一样,我是WIN7,他是XP;但后来我同样把项目部署在我自己另一台XP的电脑上也没有乱码问题。很纠结的问题,希望大家赐教!!

解决方案 »

  1.   

    乱码肯定是编码不一样了,再找找哪里还要改吧。
    另外要是改了charset还要编一下码
      

  2.   

    这个很正常,双方的开发环境配置有差异。常见的是IDE中的编码设置不一致,Tomcat编码设置不一致。楼主可以尝试从这两方面解决。
      

  3.   

    应该是你的tomcat里面的编码没有设置成统一编码,在tomcat下面有个conf.xml设置一下吧!
      

  4.   

    页面上的什么数据是中文乱码,是你jsp页面上本身的数据,还是从数据库里面取出来的?jsp页面上的数据通过contenttype来控制,数据库里面的通过数据库编码,如果你从数据库里面取出来的是UTF-8,但是页面编码是GBK,那也会乱码还有常出现乱码的地方是页面表单提交或者传参,里面如有中文的话,检查你的过滤器是否设置了正确的response的编码,否则默认是按ISO-8859-1来传输的
      

  5.   

    http://wenku.baidu.com/view/4bc373f90242a8956bece4ea.html
    看吧 看完以后 你就不会再乱拉
      

  6.   

    你说的部属应该不是用*.war部属的到Tomcat中的webapps中的吧!
    如果是部属到MyEclipse下的话要设置Eclipse的环境编码.那么在MyEclipse中属性中的 
    General--Workspace -- Text file encoding -- default(GBK)
      

  7.   

    解决中文乱码问题还是统一使用gbk比较好点,utf-8偶尔会出现乱码的
      

  8.   


    NO.恰恰相反。
    一直以来,大家都说UTF-8比GBK好,但却没有说出实际的好处。
    因为我们国人写WEB程序,总是会加入一些框架,而很多框架(什么前端的,后端的等等)及一些插件,还有WEB容器等的编码格式并不是GBK的,而UTF-8是全世界通用的。所以,这正是我们尽量使用UTF-8的原因!
      

  9.   

    request.setCharactSet("utf-8");//方法名字忘记了,好像是这样的。。
      

  10.   

    如果是显示的方式response.setContentType("text/html;charset=gbk")
    传值post的话就是request.setCharacterEncoding("gbk")
    get方式的话String str=new String(request.Parameter("**").getBytes("ISO-8859-1"),"gbk")
      

  11.   

    [Quote=引用 10 楼 paullbm 的回复:]引用 9 楼 zxingchao2009 的回复:
    解决中文乱码问题还是统一使用gbk比较好点,utf-8偶尔会出现乱码的
    NO.恰恰相反。
    一直以来,大家都说UTF-8比GBK好,但却没有说出实际的好处。
    因为我们国人写WEB程序,总是会加入一些框架,而很多框架(什么前端的,后端的等等)及一些插件,还有WEB容器等的编码格式并不是GBK的,而UTF-8是全世界通用的。所……
    狗屁,我用gbk还没出现过乱码,用utf-8老是出现乱码
      

  12.   

    我想你的乱码应该是出现在超链接,或者是get请求上。如果你get请求不多的话可以直接在文件接受是进行转码处理String flag = new String(tet.getBytes("iso-8859-1"),"gbk");如果多的话只能该web服务器配置文件了tomcat是在conf路径下server.xml中connecter子元素中加上URIEncoding=“utf-8”就可以了。
    建议你不要在连接传递中文。
      

  13.   

    可以写一个通用的方法,然后调用这个方法:
    public class LuanMa {
    public static String Lm(String str){
    try {
    return new String(str.getBytes("ISO-8859-1"));
    } catch (UnsupportedEncodingException e) {
    e.printStackTrace();
    }
    return str;
    }
    }
      

  14.   

    把编码格式改为 gbk  试试,要不就是浏览器原因了
      

  15.   

    eclipse window 下设置一下编码就可
      

  16.   

    设置下工作空间,或者java源,或者自己写个转码的类,吧src下的东西全部转成UTF-8的