不能用String来写。
DB应该设计成BLOB

解决方案 »

  1.   

    如果你用的是TOMCAT做服务器的话,与版本有关系统,原来我用JBUILD7自带的版本的时候就出现过你这样的问题,后来改为TOMCAT3.1,就没有这个问题,便一定要转化.
      

  2.   

    我用的是MS SQL Server2000
    读取的是Excel文档内容
    用的是Resin作服务器现在还是不行啊急死人了!!!!!!!!!!!!!!!!!!!!!!!!!!
      

  3.   

    我的入库函数是:
           dbc=new DBConnect();
           System.out.println(sf+"/"+bqtj+"/"+kstj+"/"+yltj+"/"+ylmc+"/"+ylxz+"/"+qcjh+"/"+fcjh+"/"+cdj+"/"+bq+"/");
           System.out.println(dclc+"/"+lchj+"/"+qcts+"/"+fcts+"/"+qcxs+"/"+fcxs+"/"+qzsj+"/"+qfsj+"/"+qdsj+"/");
           System.out.println(fzsj+"/"+ffsj+"/"+fdsj);
           StringBuffer strinsertsql=new StringBuffer("insert into StdLib(sf,bqtj,kstj,yltj,ylmc,ylxz,qcjh,");
           strinsertsql.append("fcjh,cdj,bq,dclc,lchj,qcts,fcts,qcxs,fcxs,qzsj,qfsj,qdsj,fzsj,ffsj,fdsj) ");
           strinsertsql.append("values(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)");
           dbc.prepareStatement(strinsertsql.toString());
           dbc.setString(1,sf);
           dbc.setString(2,String.valueOf(bqtj));
           dbc.setString(3,String.valueOf(kstj));
           dbc.setString(4,String.valueOf(yltj));
           dbc.setString(5,ylmc);
           dbc.setString(6,ylxz);
           dbc.setString(7,qcjh);
           dbc.setString(8,fcjh);
           dbc.setString(9,cdj);
           dbc.setString(10,bq);
           /*
           dbc.setBytes(5,ylmc.getBytes("GB2312"));
           dbc.setBytes(6,ylxz.getBytes("GB2312"));
           dbc.setBytes(7,qcjh.getBytes("GB2312"));
           dbc.setBytes(8,fcjh.getBytes("GB2312"));
           dbc.setBytes(9,cdj.getBytes("GB2312"));
           dbc.setBytes(10,bq.getBytes("GB2312"));
           */
           dbc.setString(11,String.valueOf(dclc));
           dbc.setString(12,String.valueOf(lchj));
           dbc.setString(13,String.valueOf(qcts));
           dbc.setString(14,String.valueOf(fcts));
           dbc.setString(15,String.valueOf(qcxs));
           dbc.setString(16,String.valueOf(fcxs));
           dbc.setString(17,qzsj);
           dbc.setString(18,qfsj);
           dbc.setString(19,qdsj);
           dbc.setString(20,fzsj);
           dbc.setString(21,ffsj);
           dbc.setString(22,fdsj);
           dbc.executeUpdate();
    就是进了库之后,就变成了乱码了
      

  4.   

    用new String(original.getBytes("GBK"), "ISO8859_1")将传上来的汉字串编码为ISO8859_1,不过这里的gbk是你转换以前的编码类型,你得先确认。
      

  5.   

    这个问题不是一般的问题,你要用到一个UTF转换问题,
    因为他不同于一般的页面乱码问题。
    以前有人提出过这样的问题因为excel用的不是gbk gb2312的,是用utf字符,你把中文转换成utf 看看。
    new String(str.getBytes("UTF-8"),"UTF-8");------------
      

  6.   

    建议使用iISO8859_1存入数据库,取出来的时候用gb2312
      

  7.   

    最好使用UTF-8不但不用考虑中文问题,而且可以不用考虑中文的多版本问题