oracle解决中文乱码

(本文章内容仅在windows10下经测试能够运行,不能保证其他环境下的可靠性)

方法:
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博主「小码脑」的原创文章
原文链接:https://blog.csdn.net/qq_41806338/java/article/details/83625923

posted @ 2020-05-27 21:25  DNoSay  阅读(457)  评论(0编辑  收藏  举报