MySQL的varchar定义长度是指字符长度,不是字节长度

今天在做页面的一个input的输入字符串长度校验的任务,数据库中对这个字段定义为 title  varchar(128) null, MySQL数据库。

一直以为128是字节长度,一个汉字2字节,英文等一个字节,所以最多只能放64个汉字。

可实际是我能放128个汉字,不能放129个汉字。说明:MySQL的varchar定义长度是指字符长度,不是字节长度。

字符: 人们使用的记号,抽象意义上的一个符号。一个汉字和英文就是一个字符,如'1', '中', 'a', '$', '¥',……
字节: 计算机中存储数据的单元,一个8位的二进制数,是一个很具体的存储空间,如0x01, 0x45, 0xFA,……

参考文章:MySQL的varchar定义长度到底是字节还是字符  http://cau99.blog.51cto.com/1855224/383023/

原文地址:https://www.cnblogs.com/xxchao/p/3954265.html