oracle数据乱码解决办法

oracle数据乱码解决办法

  • 问题描述
    •   使用PLSQL插入中文时,数据出现乱码了
  • 原因分析
  • 解决办法
    •   查看服务器端编码
    •    产看V$NLS_PARAMETERS项中为NLS_LANGUAGE
    •   PLSQL客户端电脑设置环境变量
    •   重新启动PLSQL

问题描述

  使用PLSQL插入中文时,数据出现乱码了

oracle数据乱码解决办法_第1张图片

原因分析

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
oracle数据乱码解决办法_第2张图片

  重新启动PLSQL

在这里插入图片描述
显示正常咯

你可能感兴趣的:(#,ORACLE,oracle,数据库,服务器)