遇到问题:
PLSQL中汉字显示乱码,并且SQL语句中如果有汉字,则执行时报错。其实并不是SQL语句写的有问题,而是系统不能识别汉字。
解决方法。
首先执行语句 select * from V$NLS_PARAMETERS 查看第一行中PARAMETER项中为NLS_LANGUAGE 对应的VALUE项中是否为SIMPLIFIED CHINESE。如果不是,需要设置环境变量。
双击我的电脑,在空白处右键,属性,“高级”选项卡,点击环境变量,在系统变量处点击“新建”,设置变量名:NLS_LANG , 变量值:SIMPLIFIED CHINESE_CHINA.ZHS16GBK 。
、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、
查看一些数据库服务器和客户端的额字符集有没有不同的:
代码如下:
select * from nls_database_parameters;
select * from nls_instance_parameters;
select * from v$nls_parameters t where t.PARAMETER ='NLS_LANGUAGE' or t.PARAMETER ='NLS_CHARACTERSET';
select * from nls_session_parameters;
1.设置本地客户端编码:
进入 我的电脑,属性,高级,环境变量,添加2项:
LANG=zh_CN.GBK
NLS_LANG="SIMPLIFIED CHINESE_CHINA.ZHS16GBK"
2.更加直接的方法就是在plsql的安装文件下创建一个txt文件
代码如下:
set nls_lang=simplified chinese_china.ZHS16GBK
PLSQLDev.exe
PLSQLDev.exe
然后重命名为bat可执行文件。将上面的nls_lang配置到plsql中去。