Substr は文字列をインターセプトするために PHP でよく使用されますが、これを中国語の文字をインターセプトするために使用すると、文字化けが発生します。例: (推奨学習: PHP プログラミング入門から熟練度まで )
<?php $mystring="今天天气真好"; $mysubstring=substr($mystring,0,2); echo $mysubstring; ?>
原因分析:substr 関数プロトタイプは次のとおりです: string substr ( string $string , int $start [, int $length ] ), $length は返されるバイト長を表し、1 つの中国語文字は 2 バイトを占めます。UTF-8 中国語文字の場合、3 バイトとして扱われます。
<?php $length=strlen($mystring);echo $length;//输出结果为18 ?>
<?php
$length=mb_strlen($mystring);
$mysub=mb_substr($mystring,0,4);
echo "the length is:$length,","the substr is:$mysub";
?>
注: mb_strlen と mb_substrこれらは PHP のコア関数ではありません。使用する前に、php.ini で extension=php_mbstring.dll を開く必要があります。
以上がPHP は文字化けを発生させずに中国語の文字列インターセプトを実装しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。