PL/SQL database character set(AL32UTF8) and Client character set(ZHS16GBK) are different

来源:互联网 发布:tiny core linux 中文 编辑:程序博客网 时间:2024/06/05 08:07

启动PL/SQL Developer 报字符编码不一致错误

Database character set (AL32UTF8) and Client character set (ZHS16GBK) are different.
Character set conversion may cause unexpected results.

Note: you can set the client character set through the NLS_LANG environment variable or the NLS_LANG registry key in
HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\KEY_Oracle_10g.

打开注册表,通过命令regedit。找到到文中提示的路径,发现NLS_LANG键的值为:

SIMPLIFIED CHINESE_CHINA.ZHS16GBK

修改为:SIMPLIFIED CHINESE_CHINA.AL32UTF8即可

还有一种可能是由于安装11g的时候没选择自定义安装造成的

Database character set (AL32UTF8) and Client character set (ZHS16GBK) are different.
Character set conversion may cause unexpected results.
Note: you can set the client character set through the NLS_LANG environment variable or the NLS_LANG registry key in
HKEY_LOCAL_MACHINE/SOFTWARE/ORACLE/KEY_OraDb11g_home

SIMPLIFIED CHINESE_CHINA.ZHS16GBK 包含 AMERICAN_AMERICA.AL32UTF8.
这可是个麻烦事,不是改客户端字符集的问题。要改数据库的字符集:
SQL> conn /as sysdba
SQL> shutdown immediate;
SQL> startup mount
SQL> ALTER SYSTEM ENABLE RESTRICTED SESSION;
SQL> ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0;
SQL> ALTER SYSTEM SET AQ_TM_PROCESSES=0;
SQL> alter database open;
SQL> ALTER DATABASE CHARACTER SET ZHS16GBK;
ORA-12712: new character set must be a superset of old character set
提示我们的字符集:新字符集必须为旧字符集的超集,这时我们可以跳过超集的检查做更改:
SQL> ALTER DATABASE character set INTERNAL_USE ZHS16GBK;
--我们看到这个过程和之前ALTER DATABASE CHARACTER SET操作的内部过程是完全相同的,也就是说INTERNAL_USE提供的帮助就是使Oracle数据库绕过了子集与超集的校验.
SQL> select * from v$nls_parameters; 
SQL> shutdown immediate;
SQL> startup
SQL> select * from v$nls_parameters;
以后安装oracle11g的时候记得选择自定义安装,把这个字符集的事情事先弄好

0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 万家乐售后服务电话 万家乐热水器使用方法图解 万家乐燃气热水器打不着火 万家乐燃气热水器使用说明书 万家乐热水器使用方法 万家乐燃气热水器说明书 万家乐热水器说明书图片 万家乐燃气热水器电话 万家乐油烟机怎么样 万和和万家乐热水器哪个好 万家乐厨房电器怎么样 万家乐60升电热水器 万家乐50升电热水器 万家乐燃气热水器怎么用 万家乐燃气热水器怎么用图解 广东万家乐燃气具有限公司 万家乐热水器服务电话 万家乐电热水器插头 万家乐热水器打火打不着 万家乐燃气热水器安装 万家乐燃气灶松手熄火 万家乐电热水器服务电话 万家乐售后维修电话 万家乐燃气热水器好吗 万家乐燃气热水器16 万家乐电热水器价格表 万家乐电热水器好不好 万家乐和万和燃气灶哪个好 万家乐热水器服务热线 万家乐灶具质量怎么样 万家乐天然气热水器打不着火 万家乐燃气灶多少钱 万家乐燃气热水器e4 万家乐燃气热水器多少钱 万家乐燃气热水器12 万家乐燃气热水器服务电话 万家乐电热水器多少钱 万家乐燃气热水器忽冷忽热 万家乐电热水器质量怎么样 万家乐热水器打不着火的原因 万家乐灶具维修电话