一 、UTF8是什么

utf8”只是“utf8mb3”的一个别名,可以支持1-3字节表示的unicode字符。

而MySQL在5.5.3版本之后增加了一个utf8mb4的编码,mb4就是most bytes 4的意思,用来兼容四字节的unicode。其实,utf8mb4是utf8的超集,理论上原来使用“utf8”,然后将字符集修改为“utf8mb4”,也并不会对已有的utf8编码读取产生任何问题。当然,为了节省空间,一般情况下使用"utf8"也就够了。

二、为什么会有UTF8MB4?

既然utf8应付日常使用完全没有问题,那为什么还要使用utf8mb4呢? 低版本的MySQL支持的utf8(utf8mb3)编码,最大字符长度为 3 字节,如果遇到 4 字节的字符就会出现错误了。三个字节的 UTF-8 最大能编码的 Unicode 字符是 0xFFFF,也就是 Unicode 中的基本多文平面(BMP)。也就是说,任何不在基本多文平面的 Unicode字符,都无法使用MySQL原有的 utf8(utf8mb4)字符集存储。这些不在BMP中的字符包括哪些呢?最常见的就是Emoji 表情(Emoji 是一种特殊的 Unicode 编码,常见于 ios 和 android 手机上),和一些不常用的汉字,以及任何新增的 Unicode 字符等等。

很重要的一点,高手在乎细节,能用最好的,就用最好的

mysql中utf8和utf8mb4区别,MySQL中utf8和utf8mb4的区别相关推荐

  1. mysql两个字段相减_MySQL 中NULL和空值的区别?

    作为后台开发,在日常工作中如果要接触Mysql数据库,那么不可避免会遇到Mysql中的NULL和空值.那你知道它们有什么区别吗? 学不动了,也不想知道它们有什么区别.大兄弟,不行啊,要面试! 前些天我 ...

  2. sqlalchemy mysql配置中怎么设置utf8_在SqlAlchemy中,我想要一个列是UTF8?

    我注意到我的MySQL数据库在默认情况下没有设置为UTF-8.改为选择latin1_swedish_ci排序规则.在 所以我很自然地遇到了一个用户报告的错误,我的应用程序不支持特殊字符.我去确保我的应 ...

  3. mysql中engine是什么意思_mysql中engine=innodb和engine=myisam的区别

    最开始用MySQL Administrator建数据库的时候,表缺省是InnoDB类型,也就没有在意.后来用Access2MySQL导数据的时候发现只能导成 MyISAM类型的表,不知道这两种类型有什 ...

  4. 编码速度非常慢_有BUG?MySQL中的 utf8 居然并不是真正的UTF-8编码?

    记得去年我在往MySQL存入emoji表情 时,一直出错,无法导入.后来找到办法 -- 通过把utf8改成utf8mb4就可以了,并没有深究. 一年后,我看到一篇文章讲到emoji文字占4个字节,通常 ...

  5. c++读取utf8文件_在MySQL中你是否使用过utf8,有没有遇到这样的bug那就要注意了...

    原文链接:https://medium.com/@adamhooper/in-mysql-never-use-utf8-use-utf8mb4-11761243e434 最近我遇到了一个bug,我试着 ...

  6. Mysql清空表(truncate)与删除表中数据(delete)的区别

    2019独角兽企业重金招聘Python工程师标准>>> 为某基于wordpress搭建的博客长久未除草,某天升级的时候发现已经被插入了几万条垃圾留言,如果一条条删除那可真是累人的活. ...

  7. mysql中的double类型_MySQL中float、double、decimal三个浮点类型的区别与总结!

    作者:极客小俊 一个专注于web技术的80后 我不用拼过聪明人,我只需要拼过那些懒人 我就一定会超越大部分人! CSDN@极客小俊,原创文章, B站技术分享 个人博客: cnblogs.com 前端h ...

  8. mysql smallint 长度_转:mysql中int、bigint、smallint 和 tinyint的区别与长度的含义

    bigint 从 -2^63 (-9223372036854775808) 到 2^63-1 (9223372036854775807) 的整型数据(所有数字).存储大小为 8 个字节. P.S. b ...

  9. mysql mma 原理_Android中m、mm、mmm、mma、mmma的区别

    m:编译整个安卓系统 makes from the top of the tree mm:编译当前目录下的模块,当前目录下需要有Android.mk这个makefile文件,否则就往上找最近的Andr ...

最新文章

  1. 腾讯 angel 3.0:高效处理模型
  2. Docker - 在CentOS7.5中升级Docker版本
  3. Java项目:高校学生社团活动管理系统(java+springboot+freemark+jpa+mysql)
  4. oracle 行级死锁_ORACLE死锁的分类
  5. python mixup
  6. C语言中main函数的研究,以及对代码断点调试的研究(王爽老师 汇编语言)
  7. openssl 生成证书_使用证书和私钥导出P12格式个人证书!
  8. 现代支付系统的资金流向
  9. autocad二次开发资料总结
  10. autoCAD 2008 Win7 64位, win8 64位 安装 燕秀工具箱 yanxiu.cui 文件下载
  11. 记一次基于公众号的微信H5开发项目(一)
  12. 2017-2018-1 《程序设计与数据结构》课程总结
  13. 从李兴平到翔子 “草根站长”的简单化生存规则!
  14. python 透明图片合成_python:图片合成(PIL 库Image类模块)
  15. 简单使用resquests爬取雪球网数据,分析股票走势
  16. 微信小程序 wx.request 的封装
  17. [附源码]SSM计算机毕业设计高校奖学金评定管理系统JAVA
  18. 解决PS中:无法将图片存储为Web存储格式,及如何将图片大小修改成10KB的问题
  19. [gazebo_gui-2] process has died [pid 4588, exit code 134, cmd /opt/ros/kinetic/lib/gazebo_ros/gzc
  20. 网上商品交易网站,怎样做到信息安全

热门文章

  1. transformer 模型的decoder部分 带gif动图
  2. 解决SSH连接超时的2个配置方法
  3. 生物化学 核磁共振 氢谱 n+1定律 邻碳耦合 同碳耦合
  4. 已解决Pandas requires version ‘1.4.0‘ or newer of ‘sqlalchemy‘ (version ‘0.7.10‘ currently installed).
  5. python-伪随机数生成器
  6. 万字长文深度剖析面向对象的javascript
  7. android 官方ui库,腾讯出品的一个超棒的 Android UI 库
  8. UNIX时间戳的UTC(协调世界时)
  9. ddr2之OCD、ODT和Post CAS技术
  10. 普通最小二乘法,加权最小二乘法,广义最小二乘法之初次理解