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字符集相关的知识(包含字符集查看和改动),主要參照: