ただし、UTF-8 エンコーディングでは、文字列 $str=”Hello!!” のように、中国語の文字は 3 文字を占めます。
strlen 関数を使用して判断すると、長さは 11 文字をわずかに超えます。 varchar の長さは短くなりますが、実際にはそうではなく、phpmyadmin で insert ステートメントを直接実行すると、この文字列を挿入できます。
データベースの場合、その長さは 5 ですが、PHP を使用してこの長さを取得するにはどうすればよいでしょうか? iconv_strlen() 関数を使用してください。
echo iconv_strlen($str,'utf-8');
2 番目のパラメータは現在の文字セットであるため、さまざまな文字セットに従って得られる結果は 1 つの文字の長さに基づいて計算されることに注意してください。
上記のステートメントは 5 を出力します。どうですか? 再印刷する場合はソースを示してください: php は、入力が mysql の varchar フィールドの長さの範囲を超えていないと判断します