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