plsql插入oracle数据中文乱码问题怎么处理

Java工具 潘老师 2年前 (2022-05-18) 1803 ℃ (0) 扫码查看

最近潘老师在使用plsql工具向oracle数据库插入数据时,出现了中文乱码问题,那么我们应该怎么处理这个问题呢?其实通过一个设置就能解决,我们一起来看下解决方案吧,而且亲测有效!

一、问题描述

问题很简单,也很明显,就是只要是中文记录在插入oracle时出现类似如下图的乱码情况:
plsql插入oracle数据中文乱码

二、解决方案

plsql插入oracle数据中文乱码问题处理起来其实很简单,因为乱码问题一般都是由于编码不一致导致的,我们只需如下几步即可解决:

第1步:查服务端编码

首先,使用如下SQL查看服务器端编码

select userenv('language') from dual;

潘老师实际查到服务器端的编码为:AMERICAN_AMERICA.AL32UTF8,具体如下图:
查看服务器端编码

第2步:查客户端编码

使用如下SQL查询PLSQL客户端使用的编码

select * from V$NLS_PARAMETERS 

查看第⼀⾏中PARAMETER项中为NLS_LANGUAGE 对应的VALUE项中的编码值是否和第1步得到的值⼀样。潘老师的查询如下图:
查询PLSQL客户端的编码
显然,我们发现这个编码和第1步的编码不一致,这就是客户端编码和服务器端编码不一致,导致插⼊中⽂乱码问题的根本原因。

第3步:配置环境变量

接下来,我们只需新增如下环境变量即可,具体如下:
依次打开:右键此电脑->属性->⾼级系统设置->环境变量->新建

然后设置变量名:NLS_LANG,变量值:第1步查到的服务器端编码值,潘老师这里是AMERICAN_AMERICA.AL32UTF8,如下图:
配置环境变量

第4步:重启plsql

最后,我们必须要重重启PLSQL客户端,然后再去插⼊数据,发现中文乱码问题就解决了。

总结

以上就是plsql客户端插入oracle数据出现中文乱码问题该怎么处理的解决方案,是不是很容易!


版权声明:本站文章,如无说明,均为本站原创,转载请注明文章来源。如有侵权,请联系博主删除。
本文链接:https://www.panziye.com/java/4814.html
喜欢 (2)
请潘老师喝杯Coffee吧!】
分享 (0)
用户头像
发表我的评论
取消评论
表情 贴图 签到 代码

Hi,您需要填写昵称和邮箱!

  • 昵称【必填】
  • 邮箱【必填】
  • 网址【可选】