我已经给它设置输出编码格式为utf-8 也不行网上搜了很多种答案,也不行。

解决方案 »

  1.   

     blob 里面存进去的是2进制
      

  2.   

    你为什么不用clob呢,blob使用二进制存储怎么读都是乱码啊.
      

  3.   

    问题要从根源来找,可写入时就是乱码,读取出来肯定是乱码了啊,你先测一下写进去的是不是乱码,不管CLOB,BLOCB都不会有问题.实在不行你就用BASE64编一下嘛,哈哈.
      

  4.   

    我的如下方法:第1种windows下入库oracle可以正常显示中文,但是到了solaris下执行的时候 入库的数据中文部分就显示问号。我晕啊。试了后面的第2种 第3种方法都不行。谁能帮个忙呢???Blob sendBlob = rs.getBlob("CONTENT");
    OutputStream sendWriter = ((oracle.sql.BLOB) sendBlob).getBinaryOutputStream();
    //sendWriter.write(dataMap.get("CONTENT").toString().getBytes()//第1种
    //sendWriter.write(dataMap.get("CONTENT").toString().getBytes("ISO-8859-1")//第2种
    sendWriter.write(dataMap.get("CONTENT").toString().getBytes("UTF-8")//第3种
    sendWriter.flush();
    sendWriter.close();
      

  5.   

    读取设置为GBK可以解决,存入的话比较麻烦,这里有篇博文:http://heisetoufa.iteye.com/blog/227657,希望可以帮到各位,虽然是2010年的帖,但是我现在也遇到同样的问题,希望大家共勉!