我用的数据库为oracle9i。数据库的字符集设置为:ZHS16GBK。数据库中,一个表中某个字段的内容为繁体字,字段类型为varchar2类型。我用toad8.0去访问数据库的数据时,该记录能够正常的显示繁体字。但是,我用9i带的thin驱动去读数据库的该记录时,就会读出?号。在网上找了很多文章,也没有找到个解决的办法,特来向大家请教!就是在执行rs.getRecord(i).getString("字段名")这句时,如果该字段的内容全部为中文简体或者是英文,则都正常。但只有是繁体就会出来?号。象这个情况该怎么解决?
修改字符集:
用SYS用户登陆
SQL> SHUTDOWN IMMEDIATE; -- or NORMAL
<do a full backup>
SQL> STARTUP MOUNT;
SQL> ALTER SYSTEM ENABLE RESTRICTED SESSION;
SQL> ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0;
SQL> ALTER DATABASE OPEN;
SQL> ALTER DATABASE CHARACTER SET <new_character_set_name>;//ZHS16GBK支持中文简体或者 US7ASCII
SQL> SHUTDOWN IMMEDIATE; -- or NORMAL
SQL> STARTUP;