前些天获取中午字符串使用strlen获取utf8编码的字符串,居然获取到了的长度是3,意外了,后面发现strlen是针对ascii编码统计长度的,其他编码需要使用到mb_strlen这个函数。

  1. <?php 
  2.     header('Content-type:text/html;charset=utf8'); 
  3.     $str = '中文a字1符'
  4.     echo strlen($str); 
  5.     echo '<br/>'
  6.     echo mb_strlen($str,'UTF8'); 
  7.       echo '<br/>'
  8.     //中英文混排字的正确计算方式 
  9.     echo (strlen($str)+mb_strlen($str,'UTF8'))/2; 
  10. ?>