修改oracle字符集
最近在做項目中 遇到了oracle數據庫中查出來漢字全是亂碼,因為字符集不一致,所以要修改自己oracle的字符集,具體步驟如下:
通過ORACLE的SQL PLUS命令窗口改
在SQL*PLUS 中,以DBA登錄
conn 用戶名 as sysdba
然後執行以下命令
>shutdown immediate; (把database停了)
>startup mount; (把database重開去可更改情況)
>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 utf8;
執行上面這行可能會報錯:
ALTER DATABASE CHARACTER SET ZHS16GBK ERROR at line 1:
ORA-12712: new character set must be a superset of old character set
解決辦法:
>ALTER DATABASE character set INTERNAL_USE utf8;
>shutdown immediate;
>startup; (重開正常oracle)
最後在註冊表找到:
HKEY_LOCAL_MACHINE -> SOFTWARE ->Oracle->KEY_XE-> 右邊窗體點擊 NLS_LANG -> 將目標字符集寫在裏面即可 "AMERICAN_AMERICA.UTF8" ->OK ->CLOSE REGISTRY
重啟監聽和服務
修改oracle字符集