今天弄了个吐血的东西,mysql保存emoji表情
网上基本上都是说把mysql的utf8改成utf8mb4:
1.修改database、table和column字符集
2.改一下mysql文件目录里的my.ini和Index.xml
如果编辑保存不了,就把文件剪切到桌面编辑,再用管理员权限移回去
3.重启 MySQL服务
如果mysql启动错误1067进程意外终止,就要进行一个排查:
在计算机管理界面依次找到【诊断】->【事件查看器】->【服务器角色】->【管理事件】
4.在mysql命令行中输入:
SHOW VARIABLES WHERE Variable_name LIKE 'character_set_%' OR Variable_name LIKE 'collation%';
检查是否如下:
±-------------------------±-------------------+
| Variable_name | Value |
±-------------------------±-------------------+
| character_set_client | utf8mb4 |
| character_set_connection | utf8mb4 |
| character_set_database | utf8mb4 |
| character_set_filesystem | binary |
| character_set_results | utf8mb4 |
| character_set_server | utf8mb4 |
| character_set_system | utf8 |
| collation_connection | utf8mb4_unicode_ci |
| collation_database | utf8mb4_unicode_ci |
| collation_server | utf8mb4_unicode_ci |
±-------------------------±-------------------+
拓展一下单词:
character set 字符集;variables 变量;collation 校验整理
深究variable的话可以看这篇文展:
mysql关于variable的总结
一顿操作猛如虎,结果一看二百五
淦,突然我想起连接的是公司服务器里面的mysql数据库,我在本地pc怎么改都没用,然后输入命令一看,原来早已使用了utf8mb4了。。。。。
故事还没完,现在回到最初的起点,在mysql存emoji表情。
我发现在mysql字符集为utf8mb4后,有些emoji可以,有些就不行,比如我发雨伞和星星就可以,太阳就不行
于是只能再写个emoji的解码与编码函数