往表中插入数据时,数据并未超过字段本身的长度,但是中文字符的地方提示太长,怎么解决

解决方案 »

  1.   

    select lengthb('你的字符串') from dual;-- 用上面的语句去看一下你的字符串长度占多少字节?
    -- 默认的length()函数只是求一串字符串含有多少字符;而汉字占三个字节(如果是utf8字符集的话)。
      

  2.   

    -- 例如,下面的两个语句的执行结果应该是不同的:
    select lengthb('罗胖胖') from dual;
    select length('罗胖胖') from dual;
      

  3.   

    unicode编码汉字2个字节 utf-8要3个字节。如果搞不清楚 建议用nvarchar2字段。这样汉字和英文就一样的字节长度了。
      

  4.   

      
    + 或者把你的表字段定義成char試試~  (Byte -> char)