软件开发随笔——MySql存储emoji表情字符

开发过程中使用MySQL存储用户提交的emoji表情时,一开始报错:
Incorrect string value: '\xF0\x9F\x98\x80' for column 'comment' at row 1

经过上网一番搜索,发现UTF-8编码有可能是两个、三个、四个字节。Emoji表情或者某些特殊字符是4个字节,而Mysql的utf8编码最多3个字节,所以数据插不进去。最后使用下面的方案把问题解决了:
1.修改数据库的以下配置并重启服务:

  [mysqld]
  character-set-server=utf8mb4
  [mysql]
  default-character-set=utf8mb4

2.修改表

  ALTER TABLE tablename CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;

参考链接:http://www.2cto.com/database/201408/322411.html

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容