大家好,我在win7下安装了oracle11g,然后在scott schema下新建了一张test表。字段为id,name,当把name值插入中文字符时,发现显示???。请问怎么解决。应该是字符集问题。按照以下步骤更改了字符集。发现还是没有解决问题。更改了字符集。从AL16UTF16更改为ZHS16GBK
更改步骤:1、用sysdba角色用户登录sqlplus: 命令行输入:sqlplus sys as sysdba
2、输入口令,进入sqlplus:sql>---
3、依次键入下面的命令行执行:
shutdown immediate;
STARTUP MOUNT;
ALTER SESSION SET SQL_TRACE=TRUE;
ALTER SYSTEM ENABLE RESTRICTED SESSION;
ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0;
ALTER SYSTEM SET AQ_TM_PROCESSES=0;
ALTER DATABASE OPEN;
ALTER DATABASE character set INTERNAL_USE ZHS16GBK;
ALTER SESSION SET SQL_TRACE=FALSE;
shutdown immediate;
startup;
风险分析:执行上述命令,有可能造成数据库中已有数据混乱的情况,所以在进行操作前,
要进行数据库的备份操作;
结果查看:察看 NLS_LANG 信息:
SELECT parameter, value FROM v$nls_parameters WHERE parameter LIKE '%CHARACTERSET';
NLS_LANG 信息已经变成:
更改步骤:1、用sysdba角色用户登录sqlplus: 命令行输入:sqlplus sys as sysdba
2、输入口令,进入sqlplus:sql>---
3、依次键入下面的命令行执行:
shutdown immediate;
STARTUP MOUNT;
ALTER SESSION SET SQL_TRACE=TRUE;
ALTER SYSTEM ENABLE RESTRICTED SESSION;
ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0;
ALTER SYSTEM SET AQ_TM_PROCESSES=0;
ALTER DATABASE OPEN;
ALTER DATABASE character set INTERNAL_USE ZHS16GBK;
ALTER SESSION SET SQL_TRACE=FALSE;
shutdown immediate;
startup;
风险分析:执行上述命令,有可能造成数据库中已有数据混乱的情况,所以在进行操作前,
要进行数据库的备份操作;
结果查看:察看 NLS_LANG 信息:
SELECT parameter, value FROM v$nls_parameters WHERE parameter LIKE '%CHARACTERSET';
NLS_LANG 信息已经变成:
我是用PL/SQL 7.0 操作的
你好,用sqlplus插入中文确实是不会显示乱码的。但是我开发数据库的时候肯定要用pl/sql developer这样的工具啊!是不是问题出在这个工具上。数据库的字符码已经没有问题了。