运行环境:win server2008(64bit)+vs2010+oracle10g
这几天把项目(之前在32位环境下没有问题)挪到64位服务器上,还真是大大小小的问题神马都有
乱码就是个小问题,但是乱起来也真是要命啊~
32和64之间的问题,已经写了几篇博文了,本篇说乱码问题,
现象如下:后台打断点,发现前台页面传过来的汉字是正确的,非乱码;从数据库读出的汉字也能正确的显示到前台页面,只是汉字写入数据库出现的乱码。
解决方法:猫猫的这个问题是oracle server和client字符集不统一造成的,一般通过修改client字符集就可以解决了。
SQL>select userenv(‘language’) from dual; 可以方便的查出oracle server端的字符集。
然后,注册表-》HKEY_LOCAL_MACHINE-》SOFTWARE->ORACLE ,项NLS_LANG,看看是否和server的字符集一致。
如果不是,改成和server端一样的字符集就可以了(改成server端的子集,应该也没有问题)
PS:oracle client的字符集并不是在安装过程中指定的,默认即为OS的默认字符集,在32位系统中安装完也是有这个数值的(不知道和win server2008有没有关系)。