首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > oracle >

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

2012-08-07 
oracle数据出现乱码如何解决(数据库的编码和注册表都设成一致了)?我用的是oracle9i, 用select userenv(LA

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个有什么区别?

热点排行