我使用的oracle的版本是:
oracle database 11g enterprise edition release 11.2.0.1.0 - 64bit production
我原來的編碼是:zhs16gbk
sql> select userenv('language') from dual;
userenv('language')
----------------------------------------------------
simplified chinese_china.zhs16gbk
sql> select * from nls_database_parameters where parameter='nls_characterset';
parameter
------------------------------
value
-------------------------------------------------------------------------------
nls_characterset
zhs16gbk
使用oracle 用戶端navicat 時報錯,因為資料庫的編碼.
我想把資料庫的編碼改為utf-8
步驟如下:
c:\users\huangwei>sqlplus /nolog
sql*plus: release 11.2.0.1.0 production on 星期六 5月 3 19:49:06 2014
copyright (c) 1982, 2010, oracle. all rights reserved.
sql> conn sys/root as sysdba
已連接配接。
sql> shutdown immediate
資料庫已經關閉。
已經解除安裝資料庫。
oracle 例程已經關閉。
sql> startup mount;
oracle 例程已經啟動。
total system global area 2438529024 bytes
fixed size 2178176 bytes
variable size 1375732608 bytes
database buffers 1040187392 bytes
redo buffers 20430848 bytes
資料庫裝載完畢。
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 al32utf8;
sql> alter database national character set internal_use al16utf16;
sql> shutdown immediate;
sql> startup
redo buffers 20430848 bytes
資料庫已經打開。
再次檢視資料庫的編碼:
sql> conn sys/root as sysdba
--------------------------------------------------------------------------------
simplified chinese_china.al32utf8
------------------------------------------------------------
al32utf8