我在开发的时候也遇到过个问题,可能是GB2312编码的问题,你转成GBK编码试一下吧。

解决方案 »

  1.   

    一个汉字肯定是2个字节的,会不会有空格存在的啊,你把他从request取出来的时候trim一下试试
      

  2.   

    GB2312,GBK标准都是2字节,GB18030标准在支持GBK的基础上还包含部分4字节长的汉字。
      

  3.   

    应该是你的数据库是UTF-8的,UTF-8是3个字节的
      

  4.   

    你的设置数据库的字符编码方式。
    在java中怎么改都是徒劳的。
      

  5.   

    另外。utf-8的中文字符是占三个字节的。
      

  6.   

    然也。utf8 的缘故。你就多给点空间嘛,现在硬盘这么便宜,何必省呢?
      

  7.   

    utf-8的中文字符是占三个字节的。
      

  8.   

    这个是数据库的字符编码。。是utf-8的。。和java没有多大的关系
      

  9.   

    对,这个是数据库的字符编码,和java没太大的关系。
    有的汉字就占俩个字节。
      

  10.   

    就是数据库字符集的问题,utf-8占3位,程序里是没办法处理的只有改db的字符集
      

  11.   

    UTF-8中文3个子节,这个没错。不知道你的数据库字符编码是不是UTF-8虽然UTF-8占3字节不过可以i18n,还是应该用地
      

  12.   

    DanielYWoo(绿色毒汁) ( ) 信誉:104  2005-04-30 17:08:00  得分: 0  
     
     
       UTF-8中文3个子节,这个没错。不知道你的数据库字符编码是不是UTF-8虽然UTF-8占3字节不过可以i18n,还是应该用地  
     纠正一下:是占1, 到 3 个字节,不能说肯定是3个,根据字不同而不同
      

  13.   

    编译原理中数据定义的不合理就会出现这种问题.
    如:
       class Test{
        char c ;
        int i ;
        String test ;
       }
    当写为这样:
       class Test{
        int i ;
        char c ;
        String test ;
       }
    数据所占的字节数就大与第一个类