急救啊,快来帮帮忙,oracle的blob字段在网页上显示乱码,其他的字段显示正常,帮研究下啊,
我查了两天了。。

解决方案 »

  1.   

    ,oracle的blob字段在网页上显示乱码
    在第三方工具里查看是否正常显示?
      

  2.   

    谢谢啊,终于有人关注了。
    问题是曾经是正常的,服务器故障修好后,变成这样了。
    所以觉的是字符集方面的问题应该是。
    resin+oracle+jsp
      

  3.   

    比较奇怪的问题,blob是二进制流,与字符显示没有必然的联系。你确定是blob字段,不是clob字段?
      

  4.   

    在数据库里显示所有字段都是正常的,然后显示到jsp网页上以后就是Blob字段的出问题
      

  5.   

    在PL/sql下显示正常的,很奇怪呀。
    因为不是我开发的,我只是负责解决问题呀。只能从系统的角度来考虑,不可能改程序的。
    另外,以前正常显示过的呀。服务器故障后,变这样了。所以程序应该是正常的。
    我把Solaris的NLS_LANG设成了simplified chinese_china zhs18gbk
    oracle的字符集也是GBK.
    resin的httpd.sh里也加了export NLS=simplified chinese_china zhs18gbk.
    都设成中文了,还是没用啊
      

  6.   

    是不是代码问题目前还不好说,不过你说的系统故障是什么个系统故障,解决过程中对系统做了什么动作,如果我记得不错的话,BLOB转到JAVA默认是byte[]数组结构,如果是文字结构需要将byte[]数组转为String,转义过程中可以进行字符集的设置,这部分可能本身是没有问题,如转义字符集因为配置在配置文件中在服务器故障处理好以后,重新部署系统,配置文件版本不一致,导致转义字符集不一致,当然可能是其它原因。这类问题,其实暂时不要定位是谁的问题,不然大家都愿意干活了,开发人员也有责任辅助定位问题,可以叫开发人员跟踪一下在从数据库提取、在JAVA程序中转义、输出到前台那一步出的问题,如果转义的时候出错,那么转义为String用的那种字符集,那么是否符合系统最初上线时的字符集统一要求。另外尝试从前端界面提交到一个大数据到数据库的BLOB字段中,然后查看数据库是否正常,再看看前台显示是否正常。这类问题的确很不好弄,不过如果没有支持方的话,只有跟踪,跟踪只有从程序下手,虽然可能不是程序的问题,但是需要程序员的配合来完成这些事情