问题描述:
mysql保存表情数据时,字段content类型为varchar,字符集utf8。发生异常:java.sql.SQLException: Incorrect string value: ‘\xF0\x9F\x91\x8C’ for column
可能的原因:
mysql中规定utf8字符MaxLen=3,但是某些unicode字符转成utf8编码之后有4个字节。
解决方法:
修改content字段为MEDIUMBLOB(原来是varchar),并且把SELECT语句修改成如下
SELECT CAST(content AS CHAR CHARACTER SET utf8) AS content
INSERT语句不需要修改