在使用易优CMS时,如果遇到 General error: 1366 Incorrect string value
错误,通常是由于数据库字段不支持某些特殊字符或表情符号导致的。具体来说,MySQL在5.5版本之前,默认的UTF-8编码只支持1-3个字节的字符,这涵盖了基本多语言平面(BMP)部分的Unicode编码区。然而,从MySQL 5.5开始,引入了 utf8mb4
编码,它可以支持4个字节的字符,从而能够表示更多的Unicode字符,包括各种表情符号。
当您尝试将包含4字节字符(如Emoji表情)的数据插入到使用 utf8
编码的字段中时,MySQL会抛出 Incorrect string value
错误,因为 utf8
编码无法正确处理这些字符。因此,解决这个问题的关键是将数据库和相关字段的字符集从 utf8
更改为 utf8mb4
。