向Oracle數據庫插入中文亂碼解決方法


解決方法:
    第一步:sqlplus下執行:select userenv('language') from dual;//查看oracle字符集
     注:如果oracle字符集與后台代碼設置的字符集不一致就會出現亂碼
    第二步:修改SYS.PROPS$表。即用SYS用戶登陸ORACLE后,利用下面語句修改相應的字符集並提交:SQL>UPDATE PROPS$ SET VALUE$=’ZHS16GBK‘WHERE NAME=’NLS_CHARACTERSET’;SQL>COMMIT;

    通過此種方法來更改數據庫字符集,只對更改后的數據有效,即數據庫中原來的數據仍以原字符集被存儲。
   注:使用sys登陸的密碼是manager   連接方式為 sysdba

   注:查詢數據庫字符集(oracle server 端 字符集查詢):oracle: select userenv(’language’) from dual;  --查詢的是Oracle服務器端字符集

原文鏈接---------http://wenda.so.com/q/1408152629727270?src=110

 

數據庫字符集修改案例:

Microsoft Windows [版本 10.0.14393]
(c) 2016 Microsoft Corporation。保留所有權利。

C:\WINDOWS\system32>sqlplus /nolog

SQL*Plus: Release 11.2.0.1.0 Production on 星期一 12月 19 09:29:31 2016

Copyright (c) 1982, 2010, Oracle.  All rights reserved.


SQL> conn /as sysdba
已連接。
SQL> select * from nls_database_parameters where parameter ='NLS_CHARACTERSET';

PARAMETER
------------------------------------------------------------
VALUE
--------------------------------------------------------------------------------
NLS_CHARACTERSET
AL32UTF8


SQL> shutdown immediate;
數據庫已經關閉。
已經卸載數據庫。
ORACLE 例程已經關閉。
SQL> startup mount;
ORACLE 例程已經啟動。

Total System Global Area 3390558208 bytes
Fixed Size                  2180464 bytes
Variable Size            2013268624 bytes
Database Buffers         1358954496 bytes
Redo Buffers               16154624 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 ZHS16GBK;
ALTER DATABASE CHARACTER SET ZHS16GBK
*
第 1 行出現錯誤:
ORA-12712: 新字符集必須為舊字符集的超集


SQL> ALTER DATABASE character set INTERNAL_USE ZHS16GBK;

數據庫已更改。

SQL> shutdown immediate;
數據庫已經關閉。
已經卸載數據庫。
ORACLE 例程已經關閉。
SQL> startup;
ORACLE 例程已經啟動。

Total System Global Area 3390558208 bytes
Fixed Size                  2180464 bytes
Variable Size            2013268624 bytes
Database Buffers         1358954496 bytes
Redo Buffers               16154624 bytes
數據庫裝載完畢。
數據庫已經打開。
SQL>


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM