oracle blob转字符串 中文乱码

作者: 默直 | 来源:发表于2019-07-05 13:14 被阅读1次

    oracle blob转字符串 中文乱码


    最近有个数据分析的任务,需要在oracle下查看的数据。心想这还不是小意思。首先确定字段来源于哪个数据库,然后确定哪张表,再次确定表中哪个字段:select * from 表名,完事,大功告成。

    但看过表数据时,完全傻眼了,数据类型是BLOB类型,用简单的select完全不行,根本得不到想要的数据,急得满头大汗。

    表中数据

    最后根据领导的建议,先把blob转成字符串,以为大功告成,屋漏偏逢连夜雨啊,执行sql语句,竟然发现中文乱码,还让不让人活,各种坑啊。

    上网各种查找资料,有好多大神在讨论此种问题,并详细给出了解决方案,如下:

    select convert(UTL_RAW.CAST_TO_VARCHAR2(blob_field), 'zhs16gbk', 'AL32UTF8') from test_blob;

    select UTL_RAW.CAST_TO_VARCHAR2(UTL_RAW.CONVERT(blob_field, 'AMERICAN_AMERICA.zhs16gbk', 'AMERICAN_AMERICA.AL32UTF8')) from test_blob;


    问题解决,开心。

                                                                                                           (完)

    相关文章

      网友评论

        本文标题:oracle blob转字符串 中文乱码

        本文链接:https://www.haomeiwen.com/subject/cgwshctx.html