文
章
目
录
章
目
录
最近潘老师在使用plsql工具向oracle数据库插入数据时,出现了中文乱码问题,那么我们应该怎么处理这个问题呢?其实通过一个设置就能解决,我们一起来看下解决方案吧,而且亲测有效!
一、问题描述
问题很简单,也很明显,就是只要是中文记录在插入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步得到的值⼀样。潘老师的查询如下图:
显然,我们发现这个编码和第1步的编码不一致,这就是客户端编码和服务器端编码不一致,导致插⼊中⽂乱码问题的根本原因。
第3步:配置环境变量
接下来,我们只需新增如下环境变量即可,具体如下:
依次打开:右键此电脑->属性->⾼级系统设置->环境变量->新建
然后设置变量名:NLS_LANG
,变量值:第1步查到的服务器端编码值,潘老师这里是AMERICAN_AMERICA.AL32UTF8
,如下图:
第4步:重启plsql
最后,我们必须要重重启PLSQL客户端,然后再去插⼊数据,发现中文乱码问题就解决了。
总结
以上就是plsql客户端插入oracle数据出现中文乱码问题该怎么处理的解决方案,是不是很容易!