介绍
介绍
福哥在存储一个字符串的时候,程序报了如下错误:
java.sql.SQLException: Incorrect string value: '\xF0\x9F\x91\x8B H...' for column 'title' at row 1
原因
经过分析原因是因为字符串包含emoji表情,这个emoji表情用的是4个字节的数据,而MySQL默认的数据是3个字节的,3个字节的空间肯定无法存储4个字节的数据的。
解决
修改MySQL的数据字段的编码(character set)为utf8mb4类型,修改MySQL的数据字段的存储方式(collate)为utf8mb4_unicode_ci方式,这样就可以解决了!
只需要把会存储emoji表情数据的字段的编码和存储方式改了就可以了!