VARCHAR(M), VARBINARY(M) L + 1 bytes if column values require 0 – 255 bytes, L + 2 bytes if values may require more than 255 bytes 
 里面varchar是256个bytes,在utf编码下面,如何计算varchar最大能存多少字符串呢?不知道用bytes计算出能存储的字符串的最大长度呢?比如能存10000个字符?

解决方案 »

  1.   

    UTF下不同的字符所占的字节是不同的, 比如 ‘A’ 只占一个,而汉字则要占三个。
      

  2.   

    按照varchar(10000) 这里的10000来存储,比如10000个字母或则汉字。
    占用空间按字符集来算:varchar 使用额外的1到2字节来存储长度,最大长度小于255,则用1字节,否则2字节。如字符集为latin1,varchar(10)则占用11字节的空间,varchar(1000)则占用1002字节
      

  3.   

    狼头是说utf-8吧,其实,部分汉字可能要4字节,比如“
      

  4.   


    编码不一样  占用的字节不一样  有时出现乱码就是因为编码的问题,GBK是站两个字节,unicode 一般说汉字栈3哥字节,而accii则不支持中文!
      

  5.   

    这段文字重点是varchar占用几个字节来存储长度