当前位置: 代码迷 >> Oracle管理 >> oracle数据出现乱码怎么解决(数据库的编码和注册表都设成一致了)
  详细解决方案

oracle数据出现乱码怎么解决(数据库的编码和注册表都设成一致了)

热度:44   发布时间:2016-04-24 05:12:13.0
oracle数据出现乱码如何解决(数据库的编码和注册表都设成一致了)?
我用的是oracle9i, 用select userenv('LANGUAGE') from dual 看到的编码是"SIMPLIFIED CHINESE_CHINA.US7ASCII" ,
在注册表中“NLS_LANG”也设置为相同的编码的,但是用往里面插入中文数据后,查出来的都是“?”, 在命令窗口,pl/sql等工具都是如此,
请问这种情况该如何解决?


------解决方案--------------------
HKEY_LOCAL_MACHINE\SOFTWARE\Oracle\HOME0下,
如一般的简体中文
nls_lang=SIMPLIFIED CHINESE_CHINA.ZHS16GBK

2:查看数据库当前字符集参数设置

SQL> select userenv('language') from dual;

USERENV('LANGUAGE')
----------------------------------------------------
SIMPLIFIED CHINESE_CHINA.ZHS16GBK


查询结果是一样的?
------解决方案--------------------
探讨
我用的是oracle9i, 用select userenv('LANGUAGE') from dual 看到的编码是"SIMPLIFIED CHINESE_CHINA.US7ASCII" ,
在注册表中“NLS_LANG”也设置为相同的编码的,但是用往里面插入中文数据后,查出来的都是“?”, 在命令窗口,pl/sql等工具都是如此,
请问这种情况该如何解决?

------解决方案--------------------
探讨
问题解决了,原来我只修改了 oracle下的NLS_LANG ,没修改到\Oracle\HOME0下的NLS_LANG ,
请问这2个有什么区别?
  相关解决方案