发现mysql存入emoji就会报错,mysql的utf8编码的一个字符最多3个字节,但是一个emoji表情为4个字节,所以utf8不支持存储emoji表情。也试了网上大多数得方法修改字符集,修改成utf8的超集utf8mb4,发现并没有什么用。
解决代码
# emoji表情不能直接添加进mysql需要编码为utf-8
News.objects.create(news=msgs.encode("utf-8"))
这样就可以存入mysql 数据库,读取出来再解码decode(‘utf-8’)
返给前端就可以了
当尝试在MySQL中存储emoji表情时,由于utf8字符集的限制导致报错。解决方法是将数据库和表的字符集改为utf8mb4,这是utf8的超集,支持4字节的emoji。在代码中,可以使用encode('utf-8')将emoji转为utf-8编码存入数据库,读取时再decode('utf-8')解码,确保正常显示。
437

被折叠的 条评论
为什么被折叠?



