中文的长度是一个问题,在不同的编码下,一个汉字对应的字节数不同。
utf-8占3个字节,gbk占2个。
正常读取字符串的长度为strlen($str);
有中文了,就需要使用mb_strlen($str,'初始编码方式');
我的默认编码是utf-8的,所以用mb_strlen($str,'utf-8');
如果mb_strlen这个函数不好用,可能是没有使用相应的扩展库。
iconv_strlen这个函数也可以实现相同的效果。
获取当前编码的方式:
使用mb_detect_encoding($str)来获取编码方式。