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

来源:互联网 发布:e3 1230 v2淘宝 编辑:程序博客网 时间:2024/04/29 08:50
刚做了一个小案例的时候,发现需要对字符串进行长度判断。所以就引来了一个问题,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

0 0