Gavin--博德

沉稳、专注--技术在于共享,共同成长。
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

Oracle数据库中文显示乱码的最简单解决办法

Posted on 2008-06-24 13:58  Gavin·Gong  阅读(8279)  评论(0编辑  收藏  举报
我的情况是这样的:
1、使用了英文版的Vista Business版操作系统;
2、安装的是中文版的Oracle10gClient
3、链接的服务器端是中文版的操作系统和中文版的Oracle
4、以按照相应的操作将区域与语言设置进行了修改,其他软件中文已经都不显示乱码了
系统是买机器的时候装好的。拿回来后没做任何修改安装了Oracle Client后出现查询出的中文都显示“?”然后从网上找了很多的办法都没有解决。
注册表中[HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\KEY_OraClient10g_home]下的
NLS_LANG为SIMPLIFIED CHINESE_CHINA.ZHS16GBK
数据库中select userenv('LANGUAGE') From Dual为AMERICAN_AMERICA.US7ASCII;
然后将注册表中跟数据库查询的同步,依然是乱码,最后经过查询分析,应该就是安装的时候是按照英文版的字符格式安装,造成客户端服务器端字符格式不一致才出现的乱码。
于是卸载掉已经安装好的Client,到控制面板“区域与语言设置里,将里面能改成中文或者中国的都改了,重起后再次安装Client,select查询,没问题了。哈哈,这个办法有可能很笨,但是很实用,希望对大家有所帮助。

这样修改后在再次安装Client时会在选择语言是自动选中简体中文,不这样设置,在安装选择语言时选择简体中文不知道是否应该也是可以的。
然后再次执行select userenv('LANGUAGE') From Dual就和[HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\KEY_OraClient10g_home]下的
NLS_LANG一致都为SIMPLIFIED CHINESE_CHINA.ZHS16GBK了。