MySQL中字符集 utf8mb4与utf8的区别
2017-08-08 13:57
513 查看
今早发现MySQL 中无法存储emoji表情,查询资料后发现是字符集的问题。
原因:emoji对应的Unicode编码不在utf8对应的Unicode分组平面内,无法直接用MySQL的utf8存储emoji编码格式字符。
解决方法:将数据库默认字符集由utf8 更改为utf8mb4,对应的表默认字符集也更改为utf8mb4。
从MySQL 5.5.3起,utf8mb4字符集每个字符最多使用四个字节,并支持补充字符,而uft8字符每个字符最多使用三个字节,如果遇到四字节的字符就会出现错误了。
参考文章:
MySQL官网—utf8mb4
How to store emoji in a Rails app with a MySQL database
原因:emoji对应的Unicode编码不在utf8对应的Unicode分组平面内,无法直接用MySQL的utf8存储emoji编码格式字符。
解决方法:将数据库默认字符集由utf8 更改为utf8mb4,对应的表默认字符集也更改为utf8mb4。
从MySQL 5.5.3起,utf8mb4字符集每个字符最多使用四个字节,并支持补充字符,而uft8字符每个字符最多使用三个字节,如果遇到四字节的字符就会出现错误了。
参考文章:
MySQL官网—utf8mb4
How to store emoji in a Rails app with a MySQL database
相关文章推荐
- MySQL乱码问题以及utf8mb4字符集---utf8mb4和utf8有什么区别? emoji表情与utf8mb4
- mysql中字符集 utf8 和utf8mb4 区别
- mysql中字符集 utf8 和utf8mb4 有什么区别?
- mysql字符集 utf8 和utf8mb4 的区别
- Mysql中,utf8mb4与utf8字符集的区别
- mysql中database库和tables表中字符集 utf8 和utf8mb4 有什么区别?
- mysql中database库和tables表中字符集 utf8 和utf8mb4 有什么区别?
- mysql中字符集 utf8 和utf8mb4 有什么区别?
- Emoji表情符号录入MySQL数据库报错的解决方案(MySQL utf8与utf8mb4区别)
- 全面了解mysql中utf8和utf8mb4的区别
- MySQL字符集 GBK、GB2312、UTF8区别 解决 MYSQL中文乱码问题以及error 1406:data too long for column 'name' at row 1
- mysql中utf8和utf8mb4区别
- 更改mysql字符集utf8至utf8mb4
- MySQL字符集 GBK、GB2312、UTF8区别 解决 MYSQL中文乱码问题
- mysql字符集的设置 utf8和utf-8以及UTF-8的区别
- MySQL字符集 GBK、GB2312、UTF8区别 解决 MYSQL中文乱码问题
- MySQL字符集 GBK、GB2312、UTF8区别 解决MYSQL中文乱码问题
- MySQL字符集 GBK、GB2312、UTF8区别 解决 MYSQL中文乱码问题
- MySQL中utf8和utf8mb4的区别
- 浅谈mysql中utf8和utf8mb4区别