Oracle 10g 修改字元集為UTF8,oracleutf8
安裝完ORACLE後發現字元集設定錯誤,因此需要修改字元集,修改方法如下:
系統內容:CentOS 6.5
ORACLE版本:10.2
1、登入到系統,切換到oracle使用者權限
# su - oracle
2、接著輸入:
$ sqlplus / as sysdba
3、Oracle Server端字元集查詢
SQL> select userenv('language') from dual;
USERENV('LANGUAGE')----------------------------------------------------AMERICAN_AMERICA.ZHS16GBK
由此可以看出字元集為ZHS16GBK
SQL> exit
4、查詢Oracle Client端的字元集
$ echo $NLS_LANG
如果發現你select出來的資料是亂碼,請把client端的字元集配置成與linux作業系統相同的字元集。如果還是有亂碼,則有可能是資料庫中的資料存在問題,或者是oracle服務端的配置存在問題。
5、Server端字元集修改
將資料庫啟動到RESTRICTED模式下做字元集更改:
$ sqlplus "/as sysdba"
SQL> conn /as sysdba
SQL> shutdown immediate
SQL> startup mount
SQL> ALTER SYSTEM ENABLE RESTRICTED SESSION;
SQL> ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0;
SQL> ALTER SYSTEM SET AQ_TM_PROCESSES=0;
SQL> alter database open;
SQL> alter database character set INTERNAL_USE UTF8;
SQL> shutdown immediate
SQL> startup
SQL> exit
6、Client端字元集修改
在/home/oracle與/root使用者目錄下的.bash_profile中,添加或修改export NLS_LANG="AMERICAN_AMERICA.UTF8"語句
$ vi /home/oracle/.bash_profile
#在最後加入如下代碼並儲存退出
export NLS_LANG="AMERICAN_AMERICA.UTF8"
$ source /home/oracle/.bash_profile