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

转自:http://blog.163.com/magicc_love/blog/static/18585366220123111128283/

修改部分为红色部分,原作者写错了

启动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.

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

SIMPLIFIED CHINESE_CHINA.ZHS16GBK

修改为:SIMPLIFIED CHINESE_CHINA.AL32UTF8即可

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

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 AL32UTF8;
ORA-12712: new character set must be a superset of old character set
提示我们的字符集:新字符集必须为旧字符集的超集,这时我们可以跳过超集的检查做更改:
SQL> ALTER DATABASE character set INTERNAL_USE AL32UTF8;
--我们看到这个过程和之前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的时候记得选择自定义安装,把这个字符集的事情事先弄好

时间: 2024-11-13 05:23:16

PL/SQL database character set(AL32UTF8) and Client character set(ZHS16GBK) are different的相关文章

PL/SQL错误提示 database character set(AL32UTF8) and Client character set(ZHS16GBK) are different

PL/SQL database character set(AL32UTF8) and Client character set(ZHS16GBK) are different 这是由于安装oracle客户端的时候没有设置对字符集造成的,没啥大问题,不影响使用,但是还是收拾好了比较爽一些.解决方法很简单. 启动PL/SQL Developer 报字符编码不一致错误 Database character set (AL32UTF8) and Client character set (ZHS16G

PL/SQL database character set(AL32UTF8) and Client character set(ZHS16GBK) are different 2012-04-11 13:01

启动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 varia

plsql 登录后,提示数据库字符集(AL32UTF8)和客户端字符集(ZHS16GBK)不一致,PL/SQL database character set(AL32UTF8) and Client character set(ZHS16GBK) are different

原文网址:http://blog.163.com/magicc_love/blog/static/18585366220123111128283/ 启动PL/SQL Developer 报字符编码不一致错误 Database character set (AL32UTF8) and Client character set (ZHS16GBK) are different.Character set conversion may cause unexpected results. Note: y

启动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

今天写hibernate时候遇到一些异常 代码: 出现异常情况: 出现以上原因是Session关闭 如果不是使用的SessionFactory.getSession()来获得Session. 而是使用SessionFactory.getCurrentSession()方法来获得Session时,当事务结束的时候,不管是提交还是回滚事务,hibernate会自动关闭Session的, 所以不需要手动关闭.

关于PL/SQL打开库表报“ORA-29275: partial multibyte character”的解决方法

在一个新搭的环境上开发,用PL/SQL连上数据库,打开其中一张表的时候发现报“ORA-29275: partial multibyte character”的错误.仔细一看,这张表里面的数据各种乱码. 网上查资料,说什么的都有,不过基本都是只适用于他们当时情况的特例.归根结底就是要求所连的数据库的字符集格式和本地的PL/SQL的字符集格式相同. 所以,先用select userenv('language') from dual查询数据库字符集格式,然后把本地环境变量NLS_LANG的值改成所查到

PL/SQL不支持64位Oracle Client

解决X64操作系统PL/SQL连接报错问题 make sure you have the 32 bits oracle client installed 说明PLSQL Developer并不支持Oracle 64位客户端连接. 解决办法: 1.下载32位Oracle客户端 其实可以下载免安装版的,http://www.oracle.com/technetwork/topics/winsoft-085727.html,我下载的是instantclient-basic-nt-11.2.0.2.0.

PL/SQL Developer远程连接Oracle数据库

修改数据库配置文件:tnsnames.ora  [我的数据库位置:D:\app\Icey-evil\product\11.2.0\dbhome_1\NETWORK\ADMIN] 根据服务器地址加入以下内容: 10.88.250.28 = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 10.88.250.28)(PORT = 1521)) ) (CONNECT_DATA = (SERVICE_NAME = ORC

PL\SQL Developer连接本地Oracle 11g数据库

1.登录PL/SQL Developer 这里省略Oracle数据库和PL/SQL Developer的安装步骤,注意在安装PL/SQL Developer软件时,不要安装在Program Files (x86)目录下,不然无法启动PL/SQL Developer. 奇怪这里为什么选择不到数据库的TNS呢?我是先安装数据库,再安装PL/SQL  Developer.按理说安装PL/SQL Developer时,就已经识别到了Oracle Home和OCI Libaray了.管它呢?先以非登录方式

PL/SQL Developer连接本地Oracle 11g 64位数据库和快捷键设置

1.登录PL/SQL Developer 这里省略Oracle数据库和PL/SQL Developer的安装步骤,注意在安装PL/SQL Developer软件时,不要安装在Program Files (x86)目录下,不然无法启动PL/SQL Developer. 奇怪这里为什么选择不到数据库的TNS呢?我是先安装数据库,再安装PL/SQL  Developer.按理说安装PL/SQL Developer时,就已经识别到了Oracle Home和OCI Libaray了.管它呢?先以非登录方式