mysql图标_MySQL 支持 emoji 图标存储
在MySLQ中 UPDATA 和 INSERT 数据的时候,如果数据上面带有emoji图标,例如:?、?、? 很容易更新或者插入不成功,导致报错。
都快崩溃了,但是还好终于解决了这种鬼问题。资料显示原因是,MYSQL 5.5 之前, UTF8 编码只支持1-3个字节,只支持BMP这部分的unicode编码区,而emoji图标恰好是4个字节的编码进行存储。从MYSQL5.5开始,可支持4个字节UTF编码utf8mb4,一个字符最多能有4字节,所以能支持更多的字符集。所以要解决问题,必需把数据库表字符编码全部改成utf8mb4。
常用字符集
ASCII:美国信息互换标准编码;英语和其他西欧语言;单字节编码,7位表示一个字符,共128字符。
GBK:双字节,汉字内码扩展规范;中日韩汉字、英文、数字;双字节编码;共收录了21003个汉字,GB2312的扩展。
UTF-8:Unicode标准的可变长度字符编码;Unicode标准(统一码),业界统一标准,包括世界上数十种文字的系统;
UTF-8:使用一至三个字节为每个字符编码。
utf8mb4:存储四个字节,应用场景用于存储emoji表情,因为可以emoji表情四个字节。
utf8mb4:MySQL版本 > 5.5.3 。
其他常见字符集:UTF-32,UTF-16,Big5,latin1
数据库中的字符集包含两层含义
各种文字和符号的集合,包括各国家文字、标点符号、图形符号、数字等。
字符的编码方式,即二进制数据与字符的映射规则。
系统环境
MySQL 5.7.14
Mac OSX 10.11.6
首先备份
升级数据之前备份您服务器上的所有数据,保持良好习惯,安全第一!
升级您的MySQL
修改您的数据库、表、字段
utf8mb4完全向后兼容utf8,无乱码或其他数据丢失的形式出现。理论上是可以放心修改,如果您不放心修改,您可以拿备份恢复数据,然后让程序员处理这种兼容emoji存储问题,存的时候过滤一遍转成base64,然后取的时候转回来?... 还是修改数据库比较方便。
检查你的字段和索引
不要将所有的都设置成utf8mb4,这个冒得必要。我只在我某些字段类型为VARCHAR的时候才设置成utf8mb4。
修改MySQL配置文件
这个地方最坑,我在我Mac osx 系统上找不到/etc/my.cnf 它根本不存在,所以我们需要创建这样一个文件并修改它。
重启MySQL
重启步骤很重要,不然没有任何效果。
启动:/usr/local/mysql/support-files/mysql.server start
停止:/usr/local/mysql/support-files/mysql.server stop
重启:/usr/local/mysql/support-files/mysql.server restart
系统中可以以这种形式重启、停止或启动
查看是否设置成功
通过下面命令查询是否设置成功!
到这一步表示你成功了!恭喜你!~
修复和优化表
我跑到这一步其实没有任何必要修复和优化表,为了保险起见,我还是运行了这两条命令,虽然不知道它有什么卵用,放在这里做个笔记吧。
明确的学习思路能更高效的学习
mysql图标_MySQL 支持 emoji 图标存储相关推荐
- mysql 图标图标_MySQL 支持 emoji 图标存储
在MySLQ中 UPDATA 和 INSERT 数据的时候,如果数据上面带有emoji图标,例如:?.?.? 很容易更新或者插入不成功,导致报错. 都快崩溃了,但是还好终于解决了这种鬼问题.资料显示原 ...
- mysql 字符图标 报错_MySQL支持emoji图标存储
在MySLQ中 UPDATA 和 INSERT 数据的时候,如果数据上面带有emoji图标,例如:
- emoji mysql 配置_MySql支持Emoji表情
1.原因: UTF-8编码有可能是两个.三个.四个字节.Emoji表情是4个字节,而Mysql的utf8编码最多3个字节,所以数据插不进去. 2.解决方案: 将Mysql的编码从utf8转换成utf8 ...
- mysql 字段存放小图标_让MySQL支持emoji图标存储
在MySLQ中 UPDATA 和 INSERT 数据的时候,如果数据上面带有emoji图标,例如:
- mysql 表情符串_mysql支持emoji表情符存储
一.教你如何让数据库支持emoji表情符存储 解决方式: 更换字符集utf8-->utf8mb4 问题描述: 前台应用抓取微博信息,每天总有几条数据插入不成功.应用日志显示: java.sql. ...
- mysql emoji表情_Mysql支持emoji表情
教程所示图片使用的是 github 仓库图片,网速过慢的朋友请移步>>> (原文)Mysql 支持 emoji 表情. 更多讨论或者错误提交,也请移步. 1. 前言 最近为博客添加了 ...
- mysql 5.6 emoji_让MySQL 5.6支持Emoji表情
让MySQL支持Emoji表情,涉及无线相关的 MySQL 数据库建议都提前采用 utf8mb4 字符集. MySQL 版本 5.6 1 解决方案:将Mysql的编码从utf8转换成utf8mb4. ...
- mysql 显示表情符号_mysql 支持emoji 表情字符的解决方法。
1.utf8 字符集最多3个字符,而emoji表情字符是unicode大字符集,需要4个字节表示,所以utf8无法表示. mysql要存储emoji字符,需要设成utf8mb4字符集,意思就是utf8 ...
- mysql支持表情输入_mysql支持emoji表情
最近开发的iOS项目由于须要用户文本的存储,天然就遇到了emoji等表情符号如何被mysql DB支持的问题.困扰了很多天,在就要绝望放弃的边缘,终于完成了转换和迁移.在此特别分析和整理,方便更多人. ...
最新文章
- python查看函数参数快捷键_Python基础知识—快捷键
- Geary 0.13.0 发布,GNOME 3 Email 客户端应用
- 判断文件是否改变php,PHP判断文件是否被修改实例
- 电脑与电脑之间数据是如何传输的(数据封装与解装)
- 通过HttpModule实现IP地址屏蔽功能
- 【电蜂优选科普】USB数据线接口有哪些类型呢?
- 华为 手机 能点开USB调试,退出重进再看还是关闭的
- 决策树及matlab实现
- ubuntu增加swap交换空间
- python查询12306余票_Python实现查询12306火车票信息
- Deep drug-target binding affinity prediction with multiple attention blocks论文解读(二)2021SC@SDUSC
- CEPH HEALTH错误(二):HEALTH_WARN mds cluster is degraded
- habor-deploy docker https 私有仓库搭建
- pycharm中import导入包呈现灰色问题
- 指令集创始人潘爱民受邀出席CCF系统软件技术论坛,探讨泛在操作系统技术发展...
- html输入页码跳转,如何为WordPress添加输入页码跳转功能?
- 有7克、2克砝码各一个,天平一只,如何只用这些物品三次将140克的盐分成50、90克各一份?
- 神舟笔记本的拆机之旅
- 进程控制(二)——minishell延续
- linux 中添加kvm虚拟化,一文告诉你Linux如何配置KVM虚拟化--安装篇