经常可能出现查询Oracle数据时,中文显示乱码,这很可能是因为,Oracle服务端的字符编码与客户端不一致引起的。
这时,我们需要做的是,如何设置自己的客户端字符编码与服务端一致。
查询Oracle服务端字符编码
--AMERICAN_AMERICA.ZHS16GBK
select userenv('language') from dual;
这时,可以通过以下命令临时设置本次命令行模式使用其字符编码:
set nls_lang=AMERICAN_AMERICA.ZHS16GBK
当然也可以通过设置环境变量永久生效。
还可以通过注册表永久生效(如果使用base版的oracle instant client可能没此注册表键值)
regedit -> HKEY_LOCAL_MACHINE -> SOFTWARE -> ORACLE -> xxx_homex -> NLS_LANG
完毕。