要说vista,真是天才,乱码也这样天才!
看看下面的界面,我初见之下就想骂:“靠……”
结果却骂不出来了,因为乱码都是“靠”,真是靠……
前因:
由于微软要停止支持XP,以后新买的电脑可能也不带XP了,所以我们要测试ERP系统在vista是否能正常运行,为以后变更操作系统运行作准备。结果就出现了这样的乱码,所有程序中的中文部分都成了“靠”。。。。。。
调试:
虽然是天才的乱码,但也无法使用啊。
只好找原因,想办法解决……。
更改区域选项,无效。
重新在中文环境下编译程序,无效。
修改程序中控件编码,无效。
……
结果:
最后发现,出现乱码的都是从数据库中读出来的内容,终于发现是oracle客户端编码设定错误!
因为新作一个测试程序,不读取数据库,显示正常;而且在SQL/Plus中读取数据库中文内容也是乱码。
找到的原因,就好解决多了。
打开注册表
HKEY_LOCAL_MACHINESOFTWAREORACLEHOME0
查看键值 NLS_LANG
发现此值为:AMERICAN_AMERICA.WE8ISO8859P1
这个不知道是什么情况下的编码。
将其修改为:SIMPLIFIED CHINESE_CHINA.ZHS16GBK
乱码问题终于解决!
进一步调查编码设置错误的原因:
oracle注册表键值NLS_LANG默认都应该是SIMPLIFIED CHINESE_CHINA.ZHS16GBK,为什么设为AMERICAN_AMERICA.WE8ISO8859P1呢。
原来在vista下安装oracle客户端时需要手动设置一下。
oracel客户端安装程序在其它系统下都是中文界面,但到了vista下就变成了英文界面!可能正是这一变化,导致需要手动设置编码。
至于为什么变成英文界面,就不研究了……
总结:
虽然这个乱码直接原因oracle设置的问题,但间接原因还是与vista有关的。而且为什么单单乱码显示为“靠”也感觉很有意思……可能和AMERICAN_AMERICA.WE8ISO8859P1编码有关系~~
解决问题时,也在网上查了好多资料,发现vista有好多乱码的问题,区域选项都要手动设置,不晓得为什么中文vista不能默认为Chinese(PRC)。
感觉vista真是失败的版本,不知道是不是没有用习惯,好多地方不如原来的方便,只是界面漂亮些。但要求的配置却高好多,而且系统庞大……
Tag: Windows技巧 Oracle安装 Oracle优化 TTTBLOG