问大家一个问题,我用TORAQUERY控件(DELPHI连ORACLE的第三方控件)连ORACLE10G数据库,为什么往数据库里添加中文时显示为'????',但是把添加的字符串放到存储过程里.调用存储过程就显示中文(但是从数据库里读取的中文判断字符串条件为什么不成立?比如'中国'='中国'(从数据库得到))很是郁闷,大家有没有遇到过这种问题?如何解决?

解决方案 »

  1.   

    强行修改服务器端ORACLE当前字符集 ---- 在用imp命令加载数据前,先在客户端用sql*plus登录system DBA用户,执行下列SQL语句进行当前ORACLE数据库字符集修改: SQL > ALTER DATABASE CHARACTER SET zhs16gbk;
     
    ERROR at line 1:ORA-01031: insufficient privileges
    ---- 你会发现语句执行过程中,出现上述错误提示信息,此时不用理会,实际上ORACLE数据库的字符集已被强行修改为US7ASCII,接着用imp命令装载数据。等数据装载完成以后,shutdown 数据库,再startup 数据库,用合法用户登录ORACLE数据库,在sql>命令提示符下,运行select * from V$NLS_PARAMETERS,可以看到ORACLE数据库字符集已复原,这时再查看有汉字字符数据的表时,汉字已能被正确显示。详见:http://edu.yesky.com/edupxpt/185/2143685.shtml