佘小宝的爹 发表于 2017-3-30 12:07:29

php strlen 与 mb_strlen

  int strlen ( string $string )
1、计算指定字符串占用的字节长度。
2、如果字符串中包含中文字符,如果文件是gbk编码,一个中文字符占用2个字节,如果文件是utf-8编码,一个中文字符占3个字节。
  int mb_strlen ( string $str [, string $encoding ] )
1、计算指定字符串的字符个数。
2、如果字符串中包含中文字符,需指定编码,指定的编码须确保与当前文件的编码一致。
  示例1,文件编码与指定编码都是utf-8.

$str = "123456中国";
echo strlen($str);
echo '<br>';
echo mb_strlen($str,'utf-8');
  

   
结果说明:
utf-8编码下,一个中文字符占3个字节,所以strlen的结果=6+2*3=12
mb_strlen字符数是8
 
示例2,文件编码与指定编码都是gbk 

$str = "123456中国";
echo strlen($str);
echo '<br>';
echo mb_strlen($str,'gbk');
  

 
  结果说明:  
gbk编码下,一个中文字符占2个字节,所以strlen的结果=6+2*2=10
mb_strlen字符数是8
页: [1]
查看完整版本: php strlen 与 mb_strlen