参考: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"
5. PLSQL环境变量设置
(1) 查看oracle服务器的字符集
select usernev('language') from dual; --AMERICAN_AMERICA.ZHS16GBK
(2)添加环境变量
电脑>鼠标右键>属性>高级系统设置>环境变量>新建
(3) 重启plsql,验证
需要重启plsql
之前在数据库中是乱码的数据仍然是乱码,重新插入数据才正常