MySQL 的“utf8”实际上不是真正的 UTF-8

Posted July-H

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL 的“utf8”实际上不是真正的 UTF-8相关的知识,希望对你有一定的参考价值。

mysql 的“utf8”实际上不是真正的 UTF-8,“utf8”只支持每个字符最多三个字节,而真正的 UTF-8 是每个字符最多四个字节。

MySQL 一直没有修复这个 bug,他们在 2010 年发布了一个叫作“utf8mb4”的字符集,这个字符集才是真正的“UTF-8”。

如果你在使用 MySQL 或 MariaDB,不要用“utf8”编码,改用“utf8mb4”。这里(https://mathiasbynens.be/notes/mysql-utf8mb4#utf8-to-utf8mb4)提供了一个指南用于将现有数据库的字符编码从“utf8”转成“utf8mb4”。

以上是关于MySQL 的“utf8”实际上不是真正的 UTF-8的主要内容,如果未能解决你的问题,请参考以下文章

开发误区----MySQL数据库误区

utf8和utf8mb64的关系

Mysql中的编码“utf-8”和”utf8mb4″的区别与使用

Centos7下Mysql8.0安装手册 以及 一些坑点总结

MySQL在实际应用中的规范(表定义SQL索引等)

Mysql utf8mb3 utf8mb4 与UTF8 字符集参数(character_set_system)的说明