通常情况下需要将PL/SQL的编码与数据库服务器的编码设置成一致的时PL/SQL在操作数据时才不会出乱码.要查看数据的编码可以使用下面的SQL
大到你可以查询到如下的结果:
NLS_LANGUAGE==>SIMPLIFIED CHINESE
NLS_TERRITORY==>CHINA
NLS_CURRENCY==>¥
NLS_ISO_CURRENCY==>CHINA
NLS_NUMERIC_CHARACTERS==>.,
NLS_CALENDAR==>GREGORIAN
NLS_DATE_FORMAT==>DD-MON-RR
NLS_DATE_LANGUAGE==>SIMPLIFIED CHINESE
NLS_CHARACTERSET==>ZHS16GBK
NLS_SORT==>BINARY
NLS_TIME_FORMAT==>HH.MI.SSXFF AM
NLS_TIMESTAMP_FORMAT==>DD-MON-RR HH.MI.SSXFF AM
NLS_TIME_TZ_FORMAT==>HH.MI.SSXFF AM TZR
NLS_TIMESTAMP_TZ_FORMAT==>DD-MON-RR HH.MI.SSXFF AM TZR
NLS_DUAL_CURRENCY==>¥
NLS_NCHAR_CHARACTERSET==>AL16UTF16
NLS_COMP==>BINARY
NLS_LENGTH_SEMANTICS==>BYTE
NLS_NCHAR_CONV_EXCP==>FALSE
第一种方式:可以通过设置环境变量:
进入 我的电脑,属性,高级,环境变量,添加2项:LANG=zh_CN.GBK 和 NLS_LANG="SIMPLIFIED CHINESE_CHINA.ZHS16GBK"
第二种方式:可以通过修改注册表实现
HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\KEY_XXXXXXXXXXXX\NLS_LANG
需要保证要设置客户端字符集与服务器端字符集一致。
里边有个文件 NLS_LANG 修改为需要的字符即可。
这可以保证PL/SQL可以正常与数据库服务器进行通讯,但是如何设置PL/SQL脚本文件的编码,还不知道怎么做