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
路漫漫其修远兮,吾将上下而求索。