oracle中,,根据得到的数据,,用DECODE函数判断,,在这个函数中DECODE(blood_test_flag,   'Y','정녕',   'N','너ㅏ어어어',   NULL,'None',   'Invalid')   
其它从数据库中的到的韩文都显示正常,在sql语句部分判断展示的数据,竟然都是乱码,不知道问题出在什么地方。

解决方案 »

  1.   

    查看数据库字符集是什么然后看是否有必要做改动?
     select * from sys.props$ where name='NLS_CHARACTERSET';更改数据库字符集方法: shutdown immediate;
     startup mount exclusive;
     alter system enable restricted session ;
     alter system set job_queue_processes = 0;
     alter system set aq_tm_processes =0;
     alter database open;
     先执行:alter database national character set AL16UTF16 ;
            如果报错则参照以下信息
     然后执行: alter database character set zhs16GBK ;
            如果报错则参照以下信息
     shutdown immediate ;
     startup
    如果错误信息,请对照一下信息
    如果提示:
            ORA_12717 :Cannot issue ALTER DATABASE NATIONAL CHARACTER SET when NCLOB,NCHAR or NVARCHAR2 data exists 
    则改成以下语句:
    alter database national character set INTERNAL_USE AL16UTF16 ;
    如果提示:
            ORA-12712 :new character set must be a superset of old character set ;
    则更改使用以下语句:
    alter database CHARACTER SET INTERNAL_USE ZHS16GBK;
    如果提示:
            ORA-12721: operation cannot execult where other sessions are active 
    则更改使用以下语句:
    shutdown immediate;
    startup mount exclusive ;
    如果提示:
            ORA-01109:database not open 
    则使用以下语句:
    alter database open ;
    如果提示:
            ORA-12719:operation requires database is in restricted mode ;
    则使用以下语句
    alter system enable restricted session ;