MySQL 数据库字符集 无法存储 emoji表情

新建一个MySQL数据库时,要设置字符集,一般来说都是选择 utf8 -- UTF-8 Unicode,

这种字符集只要不存储  emoji表情  就没有问题,但是一旦用户的呢称含有 emoji表情,就会出现错误。

 

这时候应该采用 utf8mb4 -- UTF-8 Unicode 这种字符集来存储。

因为 MySQL的“utf8”实际上不是真正的UTF-8。

“utf8”只支持每个字符最多三个字节,而真正的UTF-8是每个字符最多四个字节。

MySQL一直没有修复这个bug,他们在2010年发布了一个叫作“utf8mb4”的字符集,绕过了这个问题。

 

这里提供了一个指南用于将现有数据库的字符编码从“utf8”转成“utf8mb4”。

https://mathiasbynens.be/notes/mysql-utf8mb4#utf8-to-utf8mb4 

 

你可能感兴趣的:(mysql)