php中處理漢字字符串長度:strlen和mb_strlen


  PHP內置的字符串長度函數strlen()無法正確處理中文字符串,它得到的只是字符串所占的字節數。對於GB2312的中文編碼,strlen得到的值是漢字個數的2倍,而對於UTF-8編碼的中文,就是3倍的差異了(在UTF-8編碼下,一個漢字占3個字節)。

<html>
  <meta charset="utf-8">
  <body>
    <?php
      $name="鳴人";
      print "姓名的長度為:".mb_strlen($name,"utf-8");
    ?>
  </body>
</html>
這是的輸出結果即為:姓名的長度為:2

  mb_strlen的用法和strlen類似,只不過它有第二個可選參數用於指定字符編碼。
  要注意的是,mb_strlen並不是PHP核心函數,使用前需要確保在php.ini中加載了php_mbstring.dll,即確保“extension=php_mbstring.dll”這一行存在並且沒有被注釋掉,否則會出現未定義函數的問題。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM