new String( szText.getBytes( "字符原来的编码格式"), "你希望的编码格式" )比如把GBK转换为UTF-8
new String( szText.getBytes( "GBK"), "utf-8" )

解决方案 »

  1.   

    用OutputStreamWriter,不要用ByteArrayOutputStream 
      

  2.   

    我怎么知道 它原来的编码是什么呢? 
       我 试了 一下,new String( szText.getBytes(), "utf-8" )结果 所有 的“考”字都乱码。
      

  3.   

    这样解一下码
    new String(linkedListStr.getBytes(),"utf-8")
      

  4.   

    public  String encodeBean(LinkedList bean) { ByteArrayOutputStream out = new ByteArrayOutputStream(); XMLEncoder encoder = new XMLEncoder(out); encoder.writeObject(bean); encoder.close(); String linkedListStr =out.toString();               System.out.println(new String(linkedListStr.getBytes(),"utf-8"));//打印 这个的时候 发现其中 汉字 出现了乱码, 
    return linkedListStr; 

      

  5.   

    其实你直接改数据库的编码方式啊
    要是mysql,你建库的时候就选择utf8
    表也是
    乱码问题就没了
      

  6.   

    CREATE TABLE `b_type` (
      `typeid` int(11) NOT NULL,
      `name` varchar(255) default NULL,
      `inname` varchar(255) default NULL,
      `tid` varchar(255) default NULL,
      `intime` varchar(255) default NULL,
      PRIMARY KEY  (`typeid`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
    象这样的建表
      

  7.   

    我觉得 会不会是和我 这个 传递 过来的 linkedlist 有关系呢?       
                         这个linkedlist中每一个 元素是 一个 javabean,一个javabean中 的属性 是 汉字,会不会,
        要设置  这个 javabean或者linkedlist的编码?
                          但是  又则呢设置呢?
      

  8.   

    String s=new String(str.getBytes("iso-8859-1"),"GBK");
    把iso-8859-1转换成GBK
      

  9.   

    在 String linkedListStr =out.toString(); 
    设置 编码。