plsql 包 存储过程保存后,出现乱码问题
这个问题是在一台新电脑上连接oracle 连接plsql 后,修改了包的逻辑 编译保存后出现的问题。
一般的状况都是因为我们的包里边会有中文的注释。方便我们后期进行修改用的。就会涉及到数据库编码的问题。utf-8 和GB2312
那怎么查看我们的数据库编码呢
select * from nls_database_parameters where parameter =’NLS_CHARACTERSET’;
这个就会显示我们的数据库的编码是什么
第二个就是要查看 我们的环境变量
一般默认是gb2312 因为我们都是window 系统。看下环境变量里边有没有 NLS_LANG 这个参数变量。没有的话可以进行设置:
这个就是我们plsql的编码。可以简单的理解为:plsql 是我们window 里安装的软件,它的编码是 跟window 里边是一样的。
一般的话看数据库是什么,就改成什么再重启。
这种适合我们第一次进行设置的时候执行。
可以在环境变量里边根据自己的需求进行一下两种挑一种:
utf-8:
变量名:NLS_LANG
属性值:AMERICAN_AMERICA.AL32UTF8
gb2312
变量名:NLS_LANG
属性值 :SIMPLIFIED CHINESE_CHINA.ZHS16GBK
注意:但是已经编译的估计就要查看你的备份文件重新导入编译了。将备份的文件通过命令行脚本的方式重新编译才行。