MySQL里的utf8和很多人理解的utf8不是一个东西。它最多存三个字节,标准编码里的四字节字符全都进不来。emoji正是四字节,插进去就报Incorrectstringvalue,报错里跟着一串十六进制,那就是没能识别的字节。换utf8mb4才能存下,mb4指的就是最多四个字节。但只改连接不够。字符集在MySQL里分层:服务器默认、库、表、列,各管一段,另外还有连接层。任何一层不是utf8mb
A5创业网 版权所有