今天在数据迁移时突然报了 Specified key was too long error 的错,解决掉之后就把这个问题记录下来. 报错原因 Laravel 5.4 + 默认使用 utf8mb4 字符编码,之前使用的是 utf8 编码 我mysql数据库使用的是 utf8 编码,支持的最大字符长度为3字节,如果遇到4字节的宽字符就会出现插入异常. 注意:三个字节 utf8 最大能编码的 Unicode 字符是 0xffff ,即Unicode中的基本多文种平面(BMP).因而包括Emoji表情…