PHP-006- [文字列] - 関数strlenをstrpos

ポイントを学ぶことは
、中国の長さを取得STRLEN
mb_strlenとし

<?php  
 $name="鸣人";  
 print "姓名的长度为:".strlen($name);  
?> 

出力は次のとおりです。長さの名前:6

この問題がある理由を探るために:
PHPがビルトインstrlenを文字列の長さの関数()適切に中国の文字列を処理していない、バイトの文字列の数は、それが唯一の取得占領しました。
中国語GB2312符号化のため、strlenを得られた値は、文字の2倍の数である
中国語のUTF-8エンコーディングのために、(UTF-8エンコーディングで、文字3バイト)の3倍の差があります

mb_strlen付き 

<?php  
 $name="鸣人";  
 print "姓名的长度为:".mb_strlen($name,"utf-8");  
?> 

長さの名称:2
mb_strlen使用量と、それは2番目のオプションのパラメータは、文字エンコーディングを指定していることを除いて、同様のstrlenを。
注、mb_strlenないPHPのコア機能は、必要が「拡張子= php_mbstring.dll」があることを確実にすること、php.iniでロードされたphp_mbstring.dllを使用する前に確認することと、この行がコメントアウトされていないことを、そうでない場合が不定となります問題のある機能。
 

 

公開された47元の記事 ウォンの賞賛3 ビュー1965

おすすめ

転載: blog.csdn.net/yueyekonglong/article/details/103988330