Open1

文字数制限について

shibuchaaaanshibuchaaaan

バイト数で見てるのか、文字数で見てるのか、日本語を扱う場合は注意が必要なのでメモ。

MySQLのvarchar

varchar(XXX)の指定のカラムについて
ver4.1以前はXXX=バイト数
ver4.1以降はXXX=文字数

https://dev.mysql.com/doc/refman/8.0/ja/char.html

CHAR 型と VARCHAR 型には、格納する最大文字数を表す長さが宣言されています。

HTMLのmaxlength

UTF-16 コード単位の「文字数」で見ている。
https://developer.mozilla.org/ja/docs/Web/HTML/Attributes/maxlength

LaravelのValidation rules の max

max:XXXでは、文字数をカウントしている。
https://readouble.com/laravel/8.x/ja/validation.html#rule-max

フィールドが最大値として指定された値以下であることをバリデートします。sizeルールと同様の判定方法で、文字列、数値、配列、ファイルが評価されます。

sizeの判定方法
https://readouble.com/laravel/8.x/ja/validation.html#rule-size

文字列の場合、値は文字長です。