`

plsql developer8.0和sqlplus对字符集转换的差异性

阅读更多

 测试环境:数据库服务器字符集为AL32UTF8

 操作系统字符集为ZHS16GBK

创建测试表:

create table CHARSETTBL
(
  CLIENTCHARSET VARCHAR2(30),--nls_lang
  DES           VARCHAR2(30)
)

STEP1:

设置NLS_LANG=ZHS16GBK,然后在SQLPLUS中插入记录

INSERT INTO CHARSETTBL VLAUES('sqlpluszhs16gbk','中国');

STEP2:

重新设置NLS_LANG=AL32UTF8,重开一个SESSION,在SQLPLUS中插入记录

INSERT INTO CHARSETTBL VLAUES('sqlplusutf8','中国');

STEP3:

安装PLSQL DEVELOPER8.0,打开帮助可看到

  Character Sets
  Character size: 4 byte(s)
  CharSetID: 873
  NCharSetID: 2000
  Unicode Support: True
  NLS_LANG: AMERICAN_AMERICA.AL32UTF8
  NLS_CHARACTERSET: AL32UTF8
  NLS_NCHAR_CHARACTERSET: AL16UTF16

然后再PLSQL DEVELOPER8.0中插入记录

INSERT INTO CHARSETTBL VLAUES('plsqlutf8','中国');

STEP4:

重新设置NLS_LANG=ZHS16GBK并重新安装PLSQL DEVELOPER8.0,因为改变注册表中的NLS_LANG值并不会影响PLSQL8.0中的NLS_LANG设置,目前也没有找到更好的方法来修来,只有重装,然后装好第一次的时候它会去加载注册表中的NLS_LANG值。

然后继续在PLSQL8.0中插入记录

INSERT INTO CHARSETTBL VLAUES('plsqlzhs16gbk','中国');

 

查看结果

 

SQL> select clientcharset,dump(des,1016) from charsettbl;
 
CLIENTCHARSET                  DUMP(DES,1016)
------------------------------ --------------------------------------------------------------------------------
 plsqlutf8                      Typ=1 Len=6 CharacterSet=AL32UTF8: e4,b8,ad,e5,9b,bd
 plsqlzhs16gbk                  Typ=1 Len=6 CharacterSet=AL32UTF8: e4,b8,ad,e5,9b,bd
 sqlpluszhs16gbk                Typ=1 Len=6 CharacterSet=AL32UTF8: e4,b8,ad,e5,9b,bd
 sqlplusutf8                    Typ=1 Len=4 CharacterSet=AL32UTF8: d6,d0,b9,fa

 

可以看到plsqlutf8对应的字符编码仍然是数据库字符集的编码形式,而用SQLPLUS插入时,因为NLS_LAGE和数据库服务器字符集一样,所以ORACLE并没有做字符转换,直接插入了操作系统的字符集编码,但PLSQL8.0确做了一次转换。

7.0版本和SQLPLUS一致,这个新特性很容易迷惑人哈。

 

并且在8.0中做如下查询显示如下

 

SQL> select * from charsettbl;
 
CLIENTCHARSET                  DES
------------------------------ ------------------------------
plsqlutf8                           中国
plsqlzhs16gbk                  中国
sqlpluszhs16gbk              中国
sqlplusutf8                       中国

 

在SQLPLUS中做同样查询显示如下

SQL> select * from charsettbl;

CLIENTCHARSET                                                DES
------------------------------------------------------------ ----
plsqlutf8                                                    中国
plsqlzhs16gbk                                            中国
sqlpluszhs16gbk                                         中国
sqlplusutf8                                                  ???

 

可以看出PLSQL8.0中对查询结果也做了字符集的自动转换,而SQLPLUS却没有。

 

0
0
分享到:
评论

相关推荐

    PLSQL Developer 8.0汉化包

    这个8.0版本的汉化包是专为那些需要中文界面的用户设计的,使得国内用户在使用PLSQL Developer时能更加方便地理解和操作。 PLSQL Developer的主要特点包括: 1. **代码编辑器**:提供了智能感知功能,可以自动完成...

    PLSQL_Developer8.0绿色版64位

    在PLSQL Developer 8.0中,用户可以享受到以下主要功能和知识点: 1. **源代码编辑器**:PLSQL Developer的代码编辑器支持语法高亮、自动完成、代码折叠、错误检查等功能,帮助程序员编写高效且无错的PL/SQL代码。...

    PLSQL Developer 8.0.0.1483 绿色版+汉化包

    PLSQL Developer 8.0.0.1483的中文版特别适合中国用户,尤其是那些需要频繁处理Oracle数据库任务的开发人员和DBA。通过绿色版的设计,用户可以轻松地在任何电脑上快速启用这个工具,同时享受中文界面带来的便利。总...

    PLSQL Developer 8.0.3.1510

    - PLSQL Developer提供了对PL/SQL语法的全面支持,包括自定义代码片段、自动完成和智能提示,使得编写复杂的存储过程、函数、触发器和包更加便捷。 - 代码高亮和格式化功能有助于提高代码可读性,同时代码折叠可以...

    PLSQL Developer 8.0.3.1510.rar

    总之,PLSQL Developer 8.0.3.1510是一个强大而全面的工具,旨在提升Oracle数据库开发的效率和质量。通过其丰富的功能和友好界面,开发者可以更专注于代码本身,而不是繁琐的数据库管理工作。对于任何从事Oracle...

    PLSQL.Developer8.0.4.1514中文注册安装包.ISO

    《PLSQL Developer8.0.4.1514 中文版含注册机中文手册》(PLSQL Developer8.0.4.1514)8.0.4.1514[安装包] [PLSQL.Developer8.0.4.1514.中文版含注册机中文手册].chinese.exe 详情 3.7MB PLSQL Developer8.0注册机 ...

    PLSQL Developer 8.0

    在Oracle 10G和11G环境中,PLSQL Developer 8.0的稳定性得到了广泛认可,这得益于其对这两个版本数据库特性的深入理解和良好支持。无论是数据库管理员还是开发人员,都能从中受益,提高工作效率,减少错误发生。 ...

    PLSQL Developer8.0安装文件

    PLSQL Developer8.0

    PLSQL Developer 8.0.3.1510 x86 免安装

    PLSQL Developer是一款专为Oracle数据库开发人员设计的强大集成开发环境(IDE),主要用于编写、调试、测试和管理PL/SQL代码。这款工具以其易用性和高效性在IT行业中广受好评,尤其适合那些需要频繁处理Oracle数据库...

    PLSQL Developer 8.0 注册机

    PLSQL Developer 8.0 注册机

    PLSQL Developer8.0 中文汉化

    PLSQL Developer 8.0提供了全面的工具集,涵盖了以下几个关键方面: 1. **代码编辑**:提供了一个功能强大的代码编辑器,支持语法高亮、自动完成、代码折叠等功能,提高编写PL/SQL代码的效率。此外,它还具有错误...

    PLSQL Developer 8.0.4.1514 x86.rar

    调试是软件开发过程中的关键环节,PLSQL Developer内置的集成调试器允许用户对PL/SQL程序进行逐行执行、设置断点、查看变量值等操作,这在查找和解决复杂逻辑问题时尤其有用。调试器还支持调用堆栈查看,帮助开发者...

    PLSQL Developer 8.0.1.1502

    6. **报表和图表**:PLSQL Developer可以生成各种报表和图表,帮助分析和理解数据库结构和性能。 7. **补丁包**:描述中提到的补丁包可能是针对PLSQL Developer 8.0.1.1502的一些修正或增强,用于解决已知问题或...

    PLSQL Developer 8.0.0.1483 破解

    PLSQL Developer 8.0.0.1483 破解

    PLSQL Developer 8.0.0.1483

    PLSQL Developer 8.0.0.1483 应用exe希望能帮助一些人。

Global site tag (gtag.js) - Google Analytics