请参考这个
tweet和下面的
thread我们正在尝试存储类似的推文到数据库.我无法将这个推文存储在MySQL中,我想知道如何识别,如果字符串包含一个不能被utf8-mb4字符集处理的字符,那么我可以避免存储它.
解决方法
为您造成问题的字符是U 1F603 SMILING FACE WITH OPEN MOUTH,其值不能在16位中表示.当转换为UTF-8时,字节值为f0 9f 98 83,这应该适合在utf8mb4字符集MySQL列中没有问题,所以我将同意其他评论者,它不是一个MySQL问题.如果您可以尝试重新插入此推文,请记录MySQL收到的所有SQL语句,以确定在发送到MySQL之前或之后字符是否已损坏.