在主流的MYSQL 5.7
varchar(50)能存50个中文汉字,其实就是不管是什么字符,中文也好英文也好,只能存50个。
其实varchar类型可以存储多少个汉字,多少个数字,是要具体看我们的mysql版本,目前2020年使用的版本应该都是按照字符数来算了,而不是字节数。
如下:
5.0.3版本以下,比如 varchar(100),指的是100字节,如果存放UTF8汉字时,只能存33个(每个汉字3字节)
5.0.3版本及以上,比如varchar(100),指的是100字符,无论存放的是数字、字母还是UTF8汉字(每个汉字3字节),都可以存放100个
mysql历史版本:基本只能查到5.0以上版本了,并不是说没有4.x, https://downloads.mysql.com/archives/community/
汉字在不同字符集占用字节不同:
GBK编码下,一个汉字占2个字节bai;
UTF-8编码下,一个汉字占3个字节