mb_strlen についての初心者の質問です。
これら 3 つの呼び出しの戻り値がよくわかりません。 。
<!-- Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ --> <?php echo mb_strlen("我的名字") . "<br/>"; //12 echo mb_strlen("我的名字","UTF-8") . "<br/>"; //4 echo mb_strlen("我的名字","GBK") //6 ?>
echo mb_strlen("私の名前") . "<br/>"; echo mb_strlen("私の名前","UTF-8") "<br/>"; echo mb_strlen("私の名前","GBK") //6 <br><font color="#e78608">------解決策------------------</font><br> まず、ファイルのエンコーディングは utf-8 である必要があり、mb_internal_encoding は ISO-8859-1<br> に似ている必要があります。次に、utf8 の漢字は 3 バイト、gb は 2 バイトであり、mb_strlen は変換することを知っておく必要があります。マルチバイト文字は 1 としてカウントされるため、 <br><?php<br>echo mb_strlen("my name") になります。 // に従って、エンコードは指定されません。デフォルト ISO-8859- 1 計算、1 つの utf8 中国語文字は 3<br>echo mb_strlen("my name","UTF-8") "<br/>";文字は 1<br> echo mb_strlen("My name","GBK") //エンコーディングが間違っていると、GBK 内の 1 つの中国語文字は 2 としてカウントされますが、ファイルは utf8 なので、4 * 3 = 12 バイトになります/ 2 = 6 gbk 文字<br>?><div class="clear"></div>