急:查了几天没有搞定:插入汉字数目不对,

我的数据库oracle,字段为varchar2(4000),我写了一个form,它有一个string属性对应varchar2(4000)字段然后在jsp页面通过一个form表单的textarea获取值, 为什么最多只能装600多个汉字。varchar2(4000)可以存储2000汉字才对呀,可是为什么只有600多呢?我在action里面输出form获取的值的时候,显示对着,但是插入以后(通过hiberntatede saveEntity(information) 实现的操作数据库)
就出现问题:
数据大小超出此类型的最大值: 2003,
而且我在加一个汉字的话,
它就就出现问题:数据大小超出此类型的最大值: 2006,

字段为varchar2(4000)又为什么在2000以内可以呢?
不知道是什么原因阿,不知道那位仁兄见过这种问题,希望各位帮忙看看阿,多谢!!

并且 页面全是 <%@ page contentType="text/html;charset=GBK" language="java" %>编码的;

而且 hbm.xml 的配置文件 <property
。。。 length="4000"
/>

并且 页面全是 gbk 编码的;

Oracle字符串处理是有很多特殊问题,特别是带数字的字符串,建议google查查Oracle字符串类型之类问题解决方案。

哦~~~~多谢了,banq,那我在找找看~~~~真是晕。