ホームページ  >  記事  >  バックエンド開発  >  PHP は、入力が mysql の varchar フィールドの長さの範囲を超えていないと判断します。

PHP は、入力が mysql の varchar フィールドの長さの範囲を超えていないと判断します。

高洛峰
高洛峰オリジナル
2016-11-30 09:44:201192ブラウズ

ただし、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 フィールドの長さの範囲を超えていないと判断します

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。