plsql连接数据库时候,会弹出一个框:警告: nls_lang 在客户端不能被确定。
忽略,查询数据库表数据,查询结果中文都是乱码“?????”。
查询服务器字符编码:
Select * from V$NLS_PARAMETERS where PARAMETER='NLS_CHARACTERSET';
Select USERENV('LANGUAGE') from DUAL;
Select USERENV('LANGUAGE') from DUAL;
结果:
AMERICAN_AMERICA.ZHS16GBK
网上资料可以通过修改注册表,regedit,HKEY_LOCAL_MACHINESOFTWAREORACLE,但我本地注册表没有改数据。
最后解决方法:添加环境变量。
新建变量,设置变量名:NLS_LANG,变量值:SIMPLIFIED CHINESE_CHINA.ZHS16GBK,确定即可。
退出plsql,重新登陆plsql。输入sql语句,执行,中文标题终于正常显示,也有数据输出了。
再次查询字符编码: