# 推奨: 「php substr 関数は、中国語の UTF-8 エンコーディングが原因で文字化けします。各中国語文字は 3 バイトを占有しますが、GB2312 は 2 バイトを占有し、英語は 1 バイトを占有します。インターセプトされた桁数が不正確であるため、文字化けが発生します。解決策は、mb_substr 関数を使用することです。
PHP ビデオ チュートリアル 」
php は文字化けした文字列のインターセプトの問題を解決しますQuestion
日々の開発では文字列インターセプトの関数がよく使われます。よく使われる関数はsubstr()です。以下は例です:<?php $rest = substr ("abcdef", 1); // returns "bcdef" $rest = substr ("abcdef", 1, 3); // returns "bcd" ?>Use substr 関数は漢字に遭遇すると文字化けを起こしやすくなります。これは、中国語の UTF-8 エンコーディングでは、各中国語の文字が 3 バイトを占有するのに対し、GB2312 は 2 バイトを占有し、英語は 1 バイトを占有するためです。インターセプトされる桁の数は不正確です。substr() は、中国語の文字を突然 2 つの半分に「切断」します。 、切断された文字が 1 つの単語にまとめられるため、PHP substr 中国語の文字化けが発生します。 解決策mb_substr() 関数を使用できます。以下に例を示します:
echo mb_substr("php中文字符encode",0,4,"utf-8");
以上がsubstr php が文字化けする問題を解決する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。