开发那些事--mysql如何存储表情

Mysql存储表情

一般我们mysql都会设置字符集为UTF-8,但是在这种情况下存储表情会报如下错误

Incorrect string value: '\xF0\x9F\x98\x98\xF0\x9F...' for column......
  • 原因

UTF-8编码只能存储1~3个字节的字符,而表情是超过3个字节的,所以这里无法存储

  • 解决

修改默认字符集为utf-8mb4

[mysqld]
character-set-server=utf8mb4
collation_server=utf8mb4_unicode_ci
init-connect="SET NAMES utf8mb4"

[mysql]
default-character-set=utf8mb4

你可能感兴趣的:(开发那些事--mysql如何存储表情)