plsql——中文显示乱码

plsql连接数据库时候,会弹出一个框:警告: nls_lang 在客户端不能被确定。

忽略,查询数据库表数据,查询结果中文都是乱码“?????”。

查询服务器字符编码:

 Select * from V$NLS_PARAMETERS where PARAMETER='NLS_CHARACTERSET';
Select USERENV('LANGUAGE') from DUAL;
结果:
AMERICAN_AMERICA.ZHS16GBK
 
 

网上资料可以通过修改注册表,regedit,HKEY_LOCAL_MACHINESOFTWAREORACLE,但我本地注册表没有改数据。

最后解决方法:添加环境变量。

新建变量,设置变量名:NLS_LANG,变量值:SIMPLIFIED CHINESE_CHINA.ZHS16GBK,确定即可。

 退出plsql,重新登陆plsql。输入sql语句,执行,中文标题终于正常显示,也有数据输出了。

再次查询字符编码:

PLSQL往Oracle数据库插入中文后变为问号 和 启动PLSQL时提示NLS_LANG在客户端不能确定的解决办法

原文地址:https://www.cnblogs.com/xingxing0521/p/5311621.html