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字符集相关的知识(包括字符集查看和修改),主要参照:
本文探讨了Oracle数据库中不同字符集对汉字字节占用的影响,以及如何通过SQL查询来查看当前环境下的汉字占用字节数,并提供了解决导入数据时遇到的编码不匹配问题的方法。
3647

被折叠的 条评论
为什么被折叠?



