萬盛學電腦網

 萬盛學電腦網 >> 數據庫 >> oracle教程 >> Oracle裡漢字長度問題

Oracle裡漢字長度問題

以前在做一個系統時,遇到了一個問題!今天無意之中找到了這個問題的解決方法,貼出來!!!

問題描述:

varchar2(4000) abc;

intert into table_name(abc) values('這裡有1500個漢字……');

報錯:插入字符過長!經過測試,發現一個漢字占3個字節,所以報錯!!!

問題所在:

使用的字符集是UTF8,就有可能出現這個錯誤!

使用命令查看:

SQL> select * from v$nls_parameters where parameter='NLS_CHARACTERSET';

PARAMETER

--------------------------------------------------------------------------------

VALUE

--------------------------------------------------------------------------------

NLS_CHARACTERSET

AL32UTF8

解決方法:

建議使用ZHS16GBK字符集!

操作:

SQL> SHUTDOWN IMMEDIATE;

SQL> STARTUP MOUNT;

SQL> ALTER SYSTEM ENABLE RESTRICTED SESSION;

SQL> ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0;

SQL> ALTER DATABASE OPEN;

SQL> ALTER DATABASE CHARACTER SET AL32UTF8/ZHS16GBK;

SQL> SHUTDOWN IMMEDIATE;

SQL> STARTUP;

問題解決!

copyright © 萬盛學電腦網 all rights reserved