測試庫中文字符集亂碼 PLsql報錯中有亂碼、有問號???等問題

測試庫中文字符集亂碼
PLsql報錯中有亂碼、有問好???等問題,是字符集導致
sqlplus /nolog
conn / as sysdba
startup

1.查詢數據庫中的字符集設置
SQL> select userenv('language') from dual;
USERENV('LANGUAGE')

AMERICAN_AMERICA.WE8MSWIN1252
2.修改數據庫的字符集
SQL> ALTER DATABASE character set INTERNAL_USE ZHS16GBK;
ALTER DATABASE character set INTERNAL_USE ZHS16GBK
*
ERROR at line 1:
ORA-12719: operation requires database is in RESTRICTED mode
3.需要將數據庫設置爲RESTRICTED mode
將數據庫置於restricted mode下,是爲了防止數據庫有新的非dba權限的連接
SQL> alter system enable restricted session;
4.修改字符集到ZHS16GBK
SQL> ALTER DATABASE CHARACTER SET ZHS16GBK;
ALTER DATABASE CHARACTER SET ZHS16GBK
ERROR at line 1:
ORA-12712: new character set must be a superset of old character set
提示:新字符集必須爲舊字符集的超集,這時可以跳過超集的檢查做更改:
5.強制修改數據庫字符集
SQL> ALTER DATABASE character set INTERNAL_USE ZHS16GBK;

然後重啓數據庫,就可以了,如果有報錯可以下面留言

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章