utf8mb4
utf8mb4は文字を1〜4バイトで表現する。
4バイト使うのは絵文字など。
3バイトまでで表現できるときは3バイトしか使わないため、utf8mb4にしたらデータ量が増える、ということはない。
utf8とutf8mb4の違いとは
utf8は文字を1〜3バイトで表現する。
utf8mb4は文字を1〜4バイトで表現する。
よって、4バイトで表現される文字を、エンコーディングがutf8に設定されたデータベース(もしくはテーブル、もしくはカラム)に入れるとおかしなことになる。
参考
MySQLのutf8とutf8mb4の違いを実際に🍣(スシ)をINSERTして検証する | Playful IT - Designing and Engineering "遊び心"駆動開発