程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
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