oracle数据乱码解决办法
问题描述
使用PLSQL插入中文时,数据出现乱码了
原因分析
PLSQL客户端使用的编码和服务器端编码不一致,插入中文时就会出现乱码.
解决办法
查看服务器端编码
select userenv('language') from dual;
查询的实际结果是:AMERICAN_AMERICA.ZHS16GBK
产看V$NLS_PARAMETERS项中为NLS_LANGUAGE
select * from V$NLS_PARAMETERS WHERE PARAMETER = 'NLS_LANGUAGE
我的是AMERICAN 与第一步的AMERICAN_AMERICA.ZHS16GBK不一致,需要配置环境变量
PLSQL客户端电脑设置环境变量
计算机->属性->高级系统设置->环境变量->新建
设置变量名:NLS_LANG,变量值:第1步查到的值, 我的是 AMERICAN_AMERICA.ZHS16GBK
重新启动PLSQL
显示正常咯