ただし、utf-8 エンコーディングでは、文字列 $str = "Hello!!" のように、中国語の文字の長さは 3 文字になります。 strlen 関数を使用して判断すると、長さは 11 文字になります。 varchar の長さですが、実際にはそうではありません。phpmyadmin で insert ステートメントを直接実行すると、この文字列を挿入できます。
データベースの場合、その長さは 5 ですが、PHP を使用してこの長さを取得するにはどうすればよいでしょうか? iconv_strlen() 関数を使用してください。
echo iconv_strlen($str,'utf-8');
2 番目のパラメータは現在の文字セットであるため、さまざまな文字セットに従って得られる結果は 1 つの文字の長さに基づいて計算されることに注意してください。
上記のステートメントは 5 を出力します。どうですか?
上記は、varchar PHP が入力が mysql の varchar フィールドの長さの範囲を超えていないことをどのように判断するかを、varchar の内容も含めて紹介しました。PHP チュートリアルに興味のある友人の参考になれば幸いです。