最近刚买了一个笔记本重新安装了oracle,使用了PLSQL,安装好了试用了一下,再插入中文的sql值时出现了乱码。

中文乱码就是编码不统一所导致的了,解决办法只需要把编码统一下即可解决了。

此种情况最大的可能就是客户端和服务器端的编码不一致,解决方法如下:
1.
查看服务器端编码
select userenv('language') from dual;
我实际查到的结果为:AMERICAN_AMERICA.AL32UTF8
2.
执行语句 select * from V$NLS_PARAMETERS
查看第一行中PARAMETER项中为NLS_LANGUAGE 对应的VALUE项中是否和第一步得到的值一样。
如果不是,需要设置环境变量.
否则PLSQL客户端使用的编码和服务器端编码不一致,插入中文时就会出现乱码.
3.
设置环境变量
计算机->属性->高级设置->环境变量->新建
设置变量名:NLS_LANG,变量值:第1步查到的值(我的是AMERICAN_AMERICA.AL32UTF8).
4.
重新启动PLSQL,插入数据正常