程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> Oracle數據庫基礎 >> 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;

問題解決!

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved