Oracle中文字符乱码?设置Oracle客户端字符编码与服务端一致

时间:2023-12-06 15:46:50

经常可能出现查询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

完毕。