最新碰着的小问题,这种问题一样平常涌如今移动端利用手机填写内容或者发布文章的时候输入了一些emoji表情或者其他的表情,导致写入的时候报错,一样平常报错内容是: Incorrect string value: '\xF0\x9F\xA4\x97\xF0\x9F...' for column 'content' at row 1。
碰着这种缺点,有时候无法第一韶光判断问题出在哪里,开始以为是在截取内容的时候由于字符集的问题导致截取汉字的时候涌现截取了半个汉字的问题导致的报错,后来才创造是由于这种表情的问题,导致的报错。
这个问题办理起来也很大略,数据库的字符集改为的utf8mb4格式,就可以办理这个问题。

写入数据库的内容中包含emoji表情,导致写入失落败报错如何处理?
有时候在创建数据库的时候设置的便是utf8mb4的可能也不会生效,缘故原由是由于.数据库字符集的利用顺序是:数据库字符集 < 表字符集 < 表字段(列)字符集。可能你设置的数据库是utf8mb4但是字段的字符集不是,以是最好是指定到对应的字段才好。
如果在创建表时没有指定字符集,那么将默认利用数据库的字符集。同样地,如果在创建表的字段时没有指定字符集,那么将默认利用表的字符集。
MySQL支持多种字符集,个中最常用的是utf8和utf8mb4。utf8mb4是utf8的超集,支持四字节长度的UTF8字符,包括emoji的编码支持。