何为 utf8mb4
:
- MySQL在5.5.3版本之后增加了这个utf8mb4的编码,mb4就是most bytes 4的意思,专门用来兼容四字节的unicode。其实,utf8mb4是utf8的超集
解决方法:
- 查看编码字符集:
SHOW VARIABLES WHERE Variable_name LIKE 'character_set_%' OR Variable_name LIKE 'collation%';
- 如结果为下图所示,则『引起保存不了特殊符号的原因可能与本文不同,这篇文章可能解决不了您的问题』;
- 如若结果中的
value
字段与上图有出入,请继续阅读本文;
- 修改数据库编码:
ALTER DATABASE database CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci;
;
- 修改数据表编码:
ALTER TABLE table CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
;
- 修改表字段编码为:
ALTER TABLE table CHANGE column column VARCHAR(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
;
- 编辑
my.ini
文件,添加或修改如下内容:[client] default-character-set = utf8mb4 [mysql] default-character-set = utf8mb4 [mysqld] character-set-client-handshake = FALSE character-set-server = utf8mb4 collation-server = utf8mb4_unicode_ci init_connect='SET NAMES utf8mb4'
- 重启
Mysql
:service mysqld restart
;
- 再次查看编码字符集,如果与上文图中结果一致,则大功告成~
更多MySQL相关技术文章,请访问MySQL教程栏目进行学习!
以上就是MySQL 数据库保存 Emoji 表情及特殊符号的详细内容,更多请关注名铺123其它相关文章!