我的情况是这样的:
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了。