安装ODP后代码访问Oracle乱码问题解决

在安装好odp后,可能原来正常的代码,在访问oracle时会出现乱码。究其原因是因为安装了odp后修改了oracle的注册表内容,导致sql语句编码错误造成的。解决办法为打开注册表编辑器,找到HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE并展开,在我的机器上的内容为:

然后展开HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\OracleMTSRecoveryService\Setup\Current Version看右边home的值:

SOFTWARE\ORACLE\KEY_OraClient11g_home1

所以展开HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\KEY_OraClient11g_home1,看看右边是否有NLS_LANG这个项,如果没有需要新建一个该名称的字符串值,如果有了就修改成正确的编码,我这里是SIMPLIFIED CHINESE_CHINA.ZHS16GBK

当然为了保险起见,也可以把所有client的NLS_LANG都改过,如我这里的ORACLE\KEY_OraDb10g_home1

然后在测试你的代码,应该就没有乱码问题了。

如果你没有安装Odp也有乱码问题,也可以通过该处的注册表NLS_LANG来修改默认的客户端链接编码

posted @ 2013-02-22 17:39  Magallanes  阅读(813)  评论(0编辑  收藏  举报