MYSQL数据库支持EMojo表情符号

2018-11-13  本文已影响0人  AaricChen

最近在日志中发现数据库报错如下信息

1366 Incorrect string value: '\xF0\x9F\x98\x83\xF0\x9F...' for column 'comment' at row 1

原因

因为该字段中使用了表情符号,比如该字段存储的是用户的微信昵称等,

解决思路

MySQL数据库默认使用 utf8_general_ci 编码方式,如果要支持存储表情符号,需要将编码方式改成 utf8mb4_general_ci

解决方法

修改表对应字段的编码方式,语句如下:

ALTER TABLE [table_name] MODIFY [column_name]  VARCHAR(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

因为该编码比默认的utf8编码方式更占用空间,并且线上数据库修改全局的编码方式不太现实,所以推荐使用该方法直接修改对应列的编码方式。

上一篇 下一篇

猜你喜欢

热点阅读