String str = "错误";
//处理中文问题
byte[] temp=str.getBytes("iso-8859-1");
str=new String(temp);转换一下试试.

解决方案 »

  1.   

    to gaojunbo(飞马----结网ing) 
      还是不行,不知道与编译是否有关?我两台机器用的jdk不一样
      

  2.   

    试一下:
    如果你用的是Tomcat
    从数据库中取出数据后显示的是???
    还要进行编码转换:
     new String( str.getBytes( "gb2312" ), "ISO8859-1" )
    主要是java用ISO8859_1的编码。而简体中文的编码是gb2312。所以要转换一下
    如果不是的话,
    new String(byte[],encoding)
      

  3.   

    我也遇到类似的问题不过是在操作数据库的时候出现问题
    mysql的jdbc插入数据库的时候我打印出来的sql语句
    完全没有问题,但是在插入数据库以后发现变成乱码
    不知道是什么问题
    我把字符串使用iso8859过滤:
      public  String toChinese(String strvalue) {
    try
    {
    if(strvalue==null||strvalue.trim().length()==0)
    {
    return null;
    }
    else
    {
            String temp=strvalue.trim();
            byte[] temp_t=temp.getBytes("ISO8859_1");
            String tempvalue=new String(temp_t,"gb2312");
    return tempvalue;
    }
    }
    catch(Exception e)
    {
    return null;
    }
    }可是结果依然如此.以上的那个函数可以对很多其他的中文问题尤其是jsp和servlet的参数传递
    出现的中文问题很有帮助,但是对我的数据库操作问题依然不行.
    ...
      

  4.   

    弹出的对话框用的是JOptionPane.showmessage(null,"该记录已存在!","提示",2),显示的字不是从数据库里取的,我用你们说的方法做了,还是不对,要是该字体又不知道怎么该这个对话框的字体
      

  5.   

    这个问题我已经解决了,是跟jdk的版本有关,两台机器上的版本最好一样就没问题(从数据库取的数据出现乱码不是这么回事)