utf8 与 utf8mb4
实际碰到问题,因为字符集不一致而导致索引失效。
以下为说明,参考 utf8和utf8mb4的区别 - 简书
utf8
是针对Unicode的一种可变长度字符编码。由于对可以用ASCII表示的字符使用UNICODE并不高效,因为UNICODE比ASCII占用大一倍的空间,而对ASCII来说高字节的0对他毫无用处。为了解决这个问题,就出现了一些中间格式的字符集,他们被称为通用转换格式,即UTF(Unicode Transformation Format)。原来mysql支持的 utf8 编码最大字符长度为 3 字节,如果遇到 4 字节的宽字符就会插入异常了。三个字节的 UTF-8 最大能编码的 Unicode 字符是 0xffff,也就是 Unicode 中的基本多文种平面(BMP)。其中包含了ASCII编码,Unicode 和 部分超出Unicode的相关文字,并对他们进行最大三字节可变长度的二进制编码。
utf8mb4(mb4 = most bytes 4)
所以utf8是utf8mb4的子集,除了将编码改为utf8mb4外不需要做其他转换。而在各类符号文字逐步发展的过程中,像是包括 Emoji 表情(Emoji 是一种特殊的 Unicode 编码,常见于 ios 和 android 手机上),和很多不常用的汉字,以及任何新增的 Unicode 字符等等都需要进行编码,所以utf8mb4应运而生,这也是两者最本质的区别。
utf8 与 utf8mb4相关推荐
- 浅谈MySQL中utf8和utf8mb4的区别
一.什么是UTF8MB4? 我们在使用PhpMyAdmin管理面板时,可以在首页看到名为"Server connection collation"(服务器连接排序规则)的选项,用来 ...
- mysql修改字符集utf8为utf8mb4
mysql修改字符集utf8为utf8mb4 查看数据库的编码格式 1 2 3 SHOW VARIABLES WHERE Variable_name LIKE 'character_set_%' OR ...
- mysql utf8跟utf8mb4_MySQL utf8 和 utf8mb4 的区别
utf-8 时变化长度的编码,储存一个code point 需要1~4个字节. 然而,mysql的utf8只存储最多3个字节per code point. 所以,utf8字符集不能存储所有的unico ...
- Mysql utf8 和utf8mb4 的区别
相关内容: 记一次Mysql查询字段为空串在java中使用equals不相等的问题 Mysql 批量更改数据表和字段的字符集(Mysql UTF-8字符集更改为utf8mb4字符集) 前言 我们新建m ...
- 图解unicode、utf8和utf8mb4
字符集和字符编码 字符集(CCS: Coded Character Set): 就是一个表格,表示每个字符对应数字(通常用16进制表示),比如unicode字符集中,数字1对应的就是U+00031,字 ...
- 【Mysql】utf8与utf8mb4区别,utf8mb4_bin、utf8mb4_general_ci、utf8mb4_unicode_ci区别
一.utf8与utf8mb4区别 UTF8 UTF8mb4 使用1~4个字节,变长的编码格式 mb4即 most bytes 4,使用4个字节来表示完整的UTF-8 最大字符长度为 3 字节,如果遇到 ...
- MySQL的utf8与utf8mb4编码,以及utf8_bin、utf8_general_ci编码区别
utf8和utf8mb4的区别 一.简介 MySQL在5.5.3之后增加了这个utf8mb4的编码,mb4就是most bytes 4的意思,专门用来兼容四字节的unicode.utf8mb4是utf ...
- utf8和utf8mb4的区别
1. 基础知识 1.1 bit , byte , word 字 word 字节 byte (B) 位 bit (b) 1.2 单位换算 1字节 = 8位(1 byte = 8bit) ...
- mysql中utf8和utf8mb4的详解用法与区别
一.简介 MySQL在5.5.3之后增加了这个utf8mb4的编码,mb4就是most bytes 4的意思,专门用来兼容四字节的unicode.好在utf8mb4是utf8的超集,除了将编码改为ut ...
- mysql utf8mb4 bin_Mysql的utf8与utf8mb4区别,utf8mb4_bin、utf8mb4_general_ci与utf8mb4_unicode_ci的选择...
utf8 与 utf8mb4 标准的 UTF-8 字符集编码是可以用 1~4 个字节去编码21位字符,是一种变长的编码格式,这几乎包含了是世界上所有能看见的语言了.然而在MySQL里实现的utf8最长 ...
最新文章
- html5 %3cul 标签,index.html
- 数论分块 ---- 2020牛客多校第7场H-Dividing[思维+数论分块]
- FSWD_2_JavaScript
- 你解决的问题比你编写的代码更重要!
- SQL注入 1-3_基于post报错注入
- C# Windows Phone 8 WP8 开发,取得手机萤幕大小两种方法。
- 剑指 Offer 28. 对称的二叉树【无取巧,易于理解!】
- 为什么会出现docker
- WebSocket数据加密——AES与RSA混合加密
- 【翻译】How-To: Using the N* Stack, part 5
- laravel的路由分组,中间件,命名空间,子域名,路由前缀(四)
- SplitContainer如何实现左导航,右显示与导航相关内容
- 微软发布 VS Code Jupyter 插件!不止 Python,多语言的 Jupyter Notebook支持来了!
- git clone 某一特定分支转
- linux启用dcb步骤,Linux DCB体系——简短概述
- 关于CSDN是什么网站
- 脚本工具之下载M3U8文件类型的完整视频
- 一般网线的接法(转)
- 日期时间对象date 定时器 格林威治时间
- 2019全国大众点评数据更新