1、 今天調查一個oracle數據庫問題的時候,發如今11g中一個漢字占2個字節,在10g中占3個字節。導致將11g數據庫中的數據導入到10g的時候總是出錯。開始的時候還以為是11g和10g的版本號不一樣,漢字占用字節數不一樣,后來一想,oracle不會這么干吧。那樣區別也太大了,后來一調查,發現是跟oracle的字符集編碼有關:
假設是下面字符集,一個漢字占用2個字節: SIMPLIFIED CHINESE_CHINA.ZHS16GBK
假設是下面字符集。一個漢字占用3個字節: SIMPLIFIED CHINESE_CHINA.AL32UTF8
(1)查看oracle字符集能夠用以下的sql文查看:
select userenv('language') from dual
(2)查看當前oracle環境中一個漢字占多少個字節能夠用以下的sql文查看:
select lengthb('啊') from dual
關於oracle字符集相關的知識(包含字符集查看和改動),主要參照: