ホームページ >バックエンド開発 >PHPチュートリアル >中国語と英語を含む文字列の自然な長さを取得します
エンコーディングの認識をテストする
コード例:
$str = '大家好abc'; echo strlen($str); echo '<br/>'; echo mb_strlen($str,'utf-8');
結果は 12, 6 です
strlen() は文字列のバイト数を計算します。英語の 1 文字は 1 バイトで、中国語の文字は GBK でエンコードされますは 2 バイト、UTF8 は 3 バイトなので、バイト数は 3*3+3 = 12 です
mb_strlen() には mb_string 拡張子が必要です、混合 mb_strlen ( string $str [, string $encoding = mb_internal_encoding() ] ) 、最初のパラメータは検出する文字列、2 番目のパラメータはエンコード形式、マルチバイト文字は 1 として記録されます
エンコードの認識をテストします
コード例:
$str = '大家好abc'; echo strlen($str); echo '<br/>'; echo mb_strlen($str,'utf-8');
結果 です12, 6
strlen() は、GBK エンコードでは英語文字は 1 バイト、中国語文字は 2 バイト、UTF8 は 3 バイトなので、バイト数は 3* となります。 3+3 = 12
mb_strlen() には mb_string 拡張子が必要です。混合 mb_strlen ( string $str [, string $encoding = mb_internal_encoding() ] )、最初のパラメータは検出する文字列、2 番目のパラメータはマルチバイト文字は 1 として記録されます
中国語と英語の文字列の自然長の取得に関するその他の関連記事については、PHP 中国語 Web サイトに注目してください。