1、改用戶端字元集:通過WINDOWS的運行菜單運行Regedit,修改註冊表
Start -> Run -> Rededit <-|
Under registry Editor - > HKEY_LOCAL_MACHINE -> SOFTWARE ->ORACLE->KEY_XE->RIGHT WINDOW DOUBLE CLICK NLS_LANG -> CHANGE VALUE TO "AMERICAN_AMERICA.UTF8" ->OK ->CLOSE REGISTRY
正確設定ORACLE用戶端字元集的方法:
oracle用戶端字元集設定需要和伺服器端一致,否則會出現亂碼問題。
首先串連伺服器,查詢服務器端設定:
select * from v$nls_parameters;
找到:
NLS_LANGUAGE
NLS_TERRITORY
NLS_CHARACTERSET
環境變數nls_lang便是由這三部分組成
NLS_LANG = language_territory.charset
比如:
NLS_LANG = American_Japan.JA16SJIS
2、改伺服器端字元集,通過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;
OR
>alter database character set internal_use utf8;(這條命令是強制轉換編碼格式,有可能會導致資料庫中的中文變成亂碼)
>shutdown immediate;
>startup; (重開正常oracle)
ORACLE資料庫字元集修改完成。