質問
試しました:
mb_strlen('普通话');
strlen('普通话');
どちらも9を出力しますが、実際には3文字しかありません。
文字をカウントする正しい方法は何ですか?
解決
他のヒント
mb文字列拡張機能にアクセスできない場合、これも機能します(より高速だと思います):
strlen(utf8_decode('普通话')); // 3
1つの漢字は1つのASCII文字と等しくありません。 mb_strlenは、文字列がUTF-8でエンコードされている場合にマルチバイト文字をカウントする正しい方法です。
こちらをご覧ください: http://www.herongyang.com/PHP-Chinese/ Multibyte-UTF-8-mb_strlen.html
所属していません StackOverflow