oracle中注释都是问号?中文显示不出来问题

本人在工作中需要把开发上的库恢复到自己的虚拟机里面,然而捣鼓了许久建立好数据库之后,在使用建表语句初始化表的时候,发现注释都是?????

然后一脸懵逼不知何解,网上一大堆是说修改环境变量

  NLS_LANG=SIMPLIFIED CHINESE_CHINA.ZHS16GBK

然而我瞅了一眼我的环境变量,有这个玩意儿,我就纳闷了。

后来看到一位攻城狮的一篇文章,彩笔才恍然明白。

查看oracle数据库字符集:
  select userenv('language') from dual;
查看oracle数据库的编码
select * from nls_database_parameters where parameter ='NLS_CHARACTERSET';

查询结果:
  SIMPLIFIED CHINESE_CHINA.AL32UTF8

解决方法如下:

修改oracle数据库字符集:(在shell命令下SQL Plus中)
1.打开dos窗口,以sysdba的身份登录上去
  [oracle@localhost ~]$ sqlplus / as sysdba;

  sql> connect / as sysdba;

2.关闭数据库

  sql> shutdown immediate;
3.以mount打开数据库
  sql> startup mount;
4.设置session
  sql> alter system enable restricted session;
  system altered.
  sql> alter system set job_queue_processes=0;
  system altered.
  sql> alter system set aq_tm_processes=0;
5.启动数据库
  sql> alter database open;
6.修改字符集
  sql> alter database character set internal_use UTF8;
7.关闭,重新启动
  sql> shutdown immediate;
  sql> startup;

原文地址:https://www.cnblogs.com/caomj/p/10250577.html