日期:2014-05-16  浏览次数:20564 次

Oracle数据库字符集和客户端字符集不同,强制转化可能会造成不可预期的后果
用PL/SQL Developer登陆Oracle数据库,输入用户名和密码后报:数据库字符集(AL32UTF8)和客户端字符集(2%)是不同的,字符集转化可能会造成不可预期的后果。查看帮助Oracle信息,发现Character Sets:
NLS_LANG:SIMPLIFIED CHINESE_CHINA.AL32UTF8,
NLS_CHARACTERSET: ZHS16GBK
NLS_NCHAR_CHARACTERSET: AL16UTF16
字符集不一致,进入注册表,找到NLS_LANG,输入SIMPLIFIED CHINESE_CHINA.ZHS16GBK
再登陆PL/SQL Developer就不报这个错了。

再用Oracle以tnsnames.ora的方式远程连接服务器,又报:数据库字符集(AL32UTF8)和客户端字符集(2%)是不同的,字符集转化可能会造成不可预期的后果。发现服务器NLS_LANG采用的编码方式是SIMPLIFIED CHINESE_CHINA.AL32UTF8,这时再改注册表,无论改成什么值,这个错一直存在,困惑……