天天看点

PL SQL编译存储过程后中文出现乱码

场景:PL SQL编译存储过程后中文出现乱码

分析:出现此现象的原因是客户端与服务端编码不一致。

查看服务端编码:select * from v$nls_parameters;

查看客户端编码:select * from nls_instance_parameters

解决方法:在本地系统变量中配置与服务端编码一直的语言,此处我本地配的是

PL SQL编译存储过程后中文出现乱码

然后再重新编辑存储过程,中文就可以正常显示了。不过以前的中文乱码,只能一个个改过来了。如果不想太麻烦,可以找回某个时间点以前的存储过程,再重新执行一下。

使用sys用户登录,执行以下语句:

SELECT text
       FROM DBA_source AS OF TIMESTAMP TO_TIMESTAMP('2018-02-24 10:00:00', 'YYYY-MM-DD HH24:MI:SS')
      WHERE OWNER = 'A'
        AND NAME = 'PKG_PRO'
           

参考文档: http://blog.csdn.net/wanglui1990/article/details/78975327

继续阅读