数据库是Mysql的
表类型是MyISAM
我插入值的时候,这个字段是varchar(10),最多能插入10个英文字母,本来以为最多插入3个汉字的(UTF8不是一个汉字占3个字节码?),可是竟然能插入10个汉字
为什么?

解决方案 »

  1.   

    是可以放十个汉字啊!varchar(10)是指某种编码的10个单位长度,不是一个字节,utf8是占三个字节的。
      

  2.   

    VARCHAR(m) 这个M指的是字符数,不是字节数。
    所以varchar(10) 可以放 10 个字符(无论是中文,英文)
      

  3.   

    varchar(10)你的编码是UTF8话,则可以存10个汉字,每个汉字占3个字节
      

  4.   

    那就是说,如果这个字段是int(5),那么我能存入的最大数就是99999了吧?
      

  5.   


    不是的,INT(N),这个N仅起在MYSQL工具中显示作用。无实际的作用。仍然是 INT 4个字节,<2147483647