MySQL解决插入emoji表情失败的问题

一直以为UTF-8是万能的字符集问题解决方案. 直到遇到这个问题.
最近在做新浪微博的爬虫, 在存库的时候, 发现只要保持emoji表情, 就回抛出以下异常

Incorrect string value: '\xF0\x90\x8D\x83\xF0\x90...'

众所周知UTF-8是3个字节, 其中已经包括我们日常能见过的绝大多数字体. 但3个字节远远不够容纳所有的文字, 所以便有了utf8mb4, utf8mb4是utf8的超集, 占4个字节, 向下兼容utf8. 我们日常用的emoji表情就是4个字节了.
所以在此我们像utf8的数据表插入数据就会报出Incorrect string value这个错误.

more >>