ORACLE 10G修改字符編碼,不再麻煩,沒有超字符集的限制,可以直接修改成自己想要字符串,不過可能之前已經存在數據可能顯示的不正確,需要重新再導入
修改方法如下:
$sqlplus /nolog
SQL>conn / as sysdba;
然後執行以下命令: SQL>STARTUP MOUNT;
如果提示不能共享內存使用命令
ORA-27125: unable to create shared memory segment
[oracle@yans1 ~]$ id oracle
uid=500(oracle) gid=502(oinstall) groups=502(oinstall),501(dba)
[oracle@yans1 ~]$ more /proc/sys/vm/hugetlb_shm_group
0
下面用root執行下面的命令,將dba組添加到系統內核中:
# echo 501 > /proc/sys/vm/hugetlb_shm_group
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 ZHS16GBK
SQL>SHUTDOWN IMMEDIATE;
SQL>STARTUP
quit退出sqlplus,啟動監聽lnsrctl start。
lnsrctl start是系統命令,不能在sqlplus中使用
補充:已經安裝好的oracle 10g,插入漢字不能被正確編碼,最終數據顯示為亂碼 滿意答案◆◇ヽ依靠你的愛7級2011-11-07你不是在數據庫中插入的吧 是用java代碼插入的吧 要設置字符集的 不僅僅在這裡設置 在你的處理頁面也要設置 代碼request.setCharacterEncoding("utf-8"); 追問: 是oracle數據庫中insert添加漢字數據,成功後用select查詢,得到的漢字數據對應的都為亂碼,不是在應用程序添加的數據...在安裝oracle的時候,讓選擇語言,我沒太注意到是字符集的選擇還是什麼,就選安了英文版。後來發現問題又不知道該怎麼糾正過來了... 回答: 重新創建個數據庫 看看有沒有相關設置 安裝的時候我不記得要選擇字符集什麼的啊 我還沒有出現過這種情況....
oracle11g吧?把oracle安裝目錄下的ojdbc6_g.jar放入架包裡面 刪除原來你的oracle10g那個jdbc包