在字符集为UTF-8的情况下:
MySQL | ver < 4.1: VARCHAR以字节为单位存储,所以假设全部为常用汉字(UTF-8
3字节编码长度),则VARCHAR(100)共可存放约33个汉字;
MySQL | ver >= 4.1:
VARCHAR以字符为单位存储,假设输入仍然为常用汉字,则VARCHAR(100)可以存放100个汉字。
另外Mysql的utf8编码并不是真正的UTF-8编码,Mysql的utf8最多只支持3个字节,而emoji表情、一些特殊的中文字符则需要4个字节才能存储,因此使用Mysql数据库utf8编码保存emoji表情 😋 时会报错
mysql在MySQL 5.6+版本之后支持4Bytes字节(utf8mb4)的存储
Mysql中的utf8mb4是对 原先utf8只能存储3个字节大小的字符的一种补充,是一种真正的UTF-8编码。