1.查看服务器端编码
select userenv(‘language‘) from dual;
我实际查到的结果为:AMERICAN_AMERICA.ZHS16GBK
2.执行语句 select * from V$NLS_PARAMETERS ,查看第一行中PARAMETER项中为NLS_LANGUAGE 对应的VALUE项中是否和第一步得到的值一样。
如果不是,需要设置环境变量。
3.设置环境变量
计算机->属性->高级系统设置->环境变量->新建
设置变量名:NLS_LANG,变量值:第1步查到的值, 我的是 AMERICAN_AMERICA.ZHS16GBK
4.去虚拟机修改注册表值,修改NLS_LANG为服务器端查询到的值。修改以后重新启动一下下图所示的两个后台服务
5.重新启动PLSQL,插入数据正常