您的位置:首页 > 数据库 > MySQL

实验室-mysql中varchar能存储多少中文字节

2016-12-19 13:17 323 查看
刚做了一个小案例的时候,发现需要对字符串进行长度判断。
所以就引来了一个问题,php中如何书写判断字符长度与mysql长度耦合的代码?


测试: varchar(32)能存储多少个中文,英文及其他字符?



测试代码如下:

var_dump(mb_strlen('你好吗aa','utf8'));//int(5)
var_dump(mb_strlen('你好吗aa'));//int(11)
var_dump(iconv_strlen('你好吗ab'));//int(11)
var_dump(strlen('你好吗ab'));//int(11)


很显然,用mb_strlen函数,并指定相应的字符编码更适合我的需求。

测试结果:无论中文字符或是英文字符特殊符号在mysql数据库中的varchar数据类型里都是占一个“字符长度”!而不是以字节计算。

测试环境:mysql5.6+php5.3
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  mysql