方法:
1、使用如下命令查看服务器端编码:
Select userenv(‘language’) from dual;
我实际查到的结果为: AMERICAN_AMERICA.ZHS16GBK
2、执行语句 select * from V$NLS_PARAMETERS
查看第一行中PARAMETER项中为NLS_LANGUAGE对应的VALUE项中是否和第一步得到的值一样。
如果不是,需要设置环境变量。
否则PLSQL客户端使用的编码和服务器端编码不一致,插入中文时就会出现乱码。
3、设置环境变量
找到计算机 \属性 \高级系统设置\ 环境变量 \ 新建
设置变量名:NLS_LANG
变量值:第1步查到的值,我的是 AMERICAN_AMERICA.ZHS16GBK
4、重新启动PLSQL,插入数据正常
用到的查询语句代码如下:
--查询服务器端编码 Select userenv(‘language‘) from dual; --查询NLS文件 select * from V$NLS_PARAMETERS;
注:dual使用者虚表,由于oracle的查询必须使用from关键字,所以需要使用dual来补全语法;
————————————————
版权声明:本文为CSDN博主「小码脑」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_41806338/java/article/details/83625923