centos7上oracle数据存储乱码

参考:https://blog.csdn.net/zhbzhbzhbbaby/article/details/81355580

1. 查看oracle服务端的字符集

(1) 登录

sqlplus /nolog

conn /as sysdba

(2) 查看字符集

select userenv('language') from dual;

 

2. 查看oracle客户端的字符集

echo $NLS_LANG

 

3. 修改oracle服务端的字符集

(1) 登录

sqlplus /nolog

conn /as sysdba

(2) 启动RESTRICTED模式

shutdown immediate

startup mount

ALTER SYSTEM ENABLE RESTRICTED SESSION;

ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0;

ALTER SYSTEM SET AQ_TM_PROCESSES=0;

alter database open;

alter database character set INTERNAL_USE UTF8;

shutdown immediate

startup

exit

 

4. 设置oracle客户端的字符集

vi /home/oracle/.bash_profile

添加 export NLS_LANG="AMERICAN_AMERICA.UTF8"

centos7上oracle数据存储乱码_第1张图片

5. PLSQL环境变量设置

(1) 查看oracle服务器的字符集

select usernev('language') from dual; --AMERICAN_AMERICA.ZHS16GBK

(2)添加环境变量

电脑>鼠标右键>属性>高级系统设置>环境变量>新建

centos7上oracle数据存储乱码_第2张图片

(3) 重启plsql,验证

centos7上oracle数据存储乱码_第3张图片

需要重启plsql

之前在数据库中是乱码的数据仍然是乱码,重新插入数据才正常

你可能感兴趣的:(Oracle)