Oracle服務器數據庫中文亂碼之字符集修改 |
| 發布時間: 2012/8/24 17:13:37 |
|
最近安裝個Oracle 10g數據庫,dbca建庫的時候沒選字符集或者選錯的情況,導入數據后,中文全部是亂碼(搞笑的是,中文亂碼 居然全部是個“靠”字),查看網絡幾篇文章,也做了相應修改(以前按方法修改可以解決的,今天特例!),解決辦法如下: SQL> select name,value$ from props$ where name like '%NLS%';---語句查詢當前數據庫服務器字符集 NAME NLS_TERRITORY NLS_CURRENCY
NLS_NUMERIC_CHARACTERS NLS_CHARACTERSET ----找到查出來的結果中的該項參數
下面是修改過程: SQL> shutdown immediate; ---停止數據庫 SQL> startup mount ---啟動數據庫到mount狀態 Total System Global Area 235999352 bytes ---下面是修改過程,按步驟修改 Session altered. SQL> alter system enable restricted session; System altered. SQL> alter system set job_queue_processes=0; System altered. SQL> alter system set aq_tm_processes=0; System altered. SQL> alter database open; Database altered. SQL> set linesize 120; SQL> ALTER DATABASE character set INTERNAL_USE zhs16gbk; # 使用INTERNAL_USE可以跳過超集的檢查, (ALTER DATABASE character set INTERNAL_USE ) Database altered. ---啟動數據庫 Total System Global Area 235999352 bytes
----再次查看當前字符集 SQL> select name,value$ from props$ where name like '%NLS%'; NAME NLS_TERRITORY NLS_CURRENCY
NLS_NUMERIC_CHARACTERS NLS_CHARACTERSET 今天的情況特殊,修改完了,中文亂碼還是“靠”字,- - 后來試著修改系統字符集 在Oracle下 .bash_profile 文件里面加入 export NLS_LANG="Simplified Chinese_CHINA.ZHS16GBK" 最后把NLS_LANG中后面的字符集ZHS16GBK修改成AL32UTF8,查看結果,搞掂完成,回家! 總結:要系統字符集和數據庫字符集相對應才會解決中文亂碼問題,dbca建庫時,也要注意字符集選擇問題。
本文出自:億恩科技【www.czbl888.cn】 |
京公網安備41019702002023號