MySQL常用编码格式详解utf8、utf8mb4、utf8mb4_unicode_ci 、utf8mb4_0900_ai_ci

news/2025/2/6 13:18:33/文章来源:https://www.cnblogs.com/o-O-oO/p/18700909
前言常用字符集utf8utf8mb4排序规则(Collation)utf8mb4_general_ciutf8mb4_unicode_ciutf8mb4_0900_ai_ci总结对比使用建议示例

前言

在使用MySQL创建数据库时候免不了选择字符集和排序规则,不同的字符集对应不同的排序规则,不同的排序规则的性能和效果是不一样的。一般我们经常使用到的字符集是utf8mb4,使用到的排序规则是utf8mb4_general_ci、utf8mb4_unicode_ci、utf8mb4_0900_ai_ci三种。那么今天就来详细介绍下这几种字符集和排序规则,方便大家今后选用。

常用字符集

utf8 和 utf8mb4是我们常用的字符集。

utf8

定义:MySQL中的utf8字符集实际上是指utf8mb3,即每个字符最多使用3个字节进行编码。
支持字符范围:支持大部分Unicode字符,但不包括某些需要4个字节表示的字符(如部分表情符号、一些罕用汉字等)。
适用场景:适合不需要完整Unicode支持的场景,占用空间较小。

utf8mb4

定义:真正的UTF-8实现,每个字符最多使用4个字节进行编码。
支持字符范围:完全支持所有Unicode字符,包括表情符号和罕用汉字。
适用场景:适合需要处理全球语言和特殊字符的场景,虽然占用更多存储空间,但确保了数据完整性。

排序规则

不同的字符集对应不同的排序规则,一般我们字符集选择utf8mb4便于保存表情等特殊字符,那么我们的排序规则则主要介绍utf8mb4_general_ci、utf8mb4_unicode_ci、utf8mb4_0900_ai_ci。其中_ai表示“accent insensitive”,不区分重音。_ci表示“case insensitive”,不区分大小写。

utf8mb4_general_ci

定义:通用的不区分大小写的排序规则。
特点:
比较快,因为它的比较规则较为简单。
不完全符合Unicode标准,在某些情况下可能不够准确。
适用场景:适合对性能要求较高且对排序准确性要求不高的场景。

utf8mb4_unicode_ci

定义:基于Unicode标准的不区分大小写的排序规则。
特点:
更加准确,遵循Unicode标准。
性能稍差于_general_ci,但在大多数情况下可以接受。
适用场景:适合对排序准确性有较高要求的场景。

utf8mb4_0900_ai_ci

定义:MySQL 8.0引入的新排序规则,基于Unicode 9.0标准,不区分大小写和重音。
特点:
支持更多的语言和字符特性。
提供更准确的比较和排序结果。
性能优化较好,提供更好的国际化支持,适合现代应用。
适用场景:适合需要处理多语言文本和特殊字符的现代应用。

总结对比

通过选择合适的字符集和排序规则,可以在性能和功能之间找到最佳平衡,确保MySQL数据库在处理多语言和特殊字符时的正确性和高效性。

使用建议

如果需要支持表情符号或其他4字节字符:使用utf8mb4。
如果对性能要求较高且不需要严格的Unicode排序:选择utf8mb4_general_ci。
如果需要严格的Unicode排序和更好的国际化支持:选择utf8mb4_unicode_ci。
如果需要最新的Unicode标准和不区分重音的支持:选择utf8mb4_0900_ai_ci。

示例

创建数据库时设置字符集和排序规则

CREATE DATABASE mydb
CHARACTER SET utf8mb4
COLLATE utf8mb4_unicode_ci;

创建表时设置字符集和排序规则

CREATE TABLE mytable (
id INT PRIMARY KEY,
name VARCHAR(255)
) ENGINE=InnoDB
DEFAULT CHARSET=utf8mb4
COLLATE=utf8mb4_unicode_ci;

修改现有表的字符集和排序规则

ALTER TABLE mytable
CONVERT TO CHARACTER SET utf8mb4
COLLATE utf8mb4_unicode_ci;

原创 senfel 架构集结号

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/879626.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

JS-50 事件类型之表单事件

表单事件是在使用表单元素及输入框元素可以监听的一系列事件 ①input事件②select事件③Change事件④reset事件⑤submit事件 1、input事件input事件当<input>、<select>、<textarea>的值发生变化时触发。对于复选框(<input type=checkbox>)或单选框(…

第一章:计算机的历史

计算机的历史 TL;DR因为有时工作量大,以及人类的懒惰性,所以诞生了计算机正文摒弃教材,来站在发明计算机的人的视角,考察为什么计算机会诞生。 思考题你是一个工程师,接到了一个任务:要求在两天之内计算十万个形如 2x+3=7 这样的方程,并返回结果,让上级进行下一步数据处…

2025年打工人自救指南:四款工作计划管理APP对比

一、微软To-Do:极简主义者的效率白月光 ✅ 核心优势: 1、多平台同步:Windows/iOS/Android/网页端实时云同步,微软账号一键打通生态。 2、智能清单管理:支持「我的一天」智能推荐任务、「步骤拆解」功能,适合任务颗粒度细的日程规划。 3、跨软件联动:与Outlook日历深度绑…

数字先锋 | 竞技科研蓝海,中南大学先“算”一步!

自计算机诞生之日起,科学研究对计算性能的无限追求,一直在不断冲击和超越摩尔定律的想象。而高校作为科研成果创新和人才培养的重要基地,其计算能力已经成为衡量自身科学技术研究、产品研发实力、人才培养水平的重要标志。在中南大学的高性能计算公共平台机房内,一排排机柜…

利用ima.copilot,打造你的AI知识库

和几位同学聊起了各路 AI+工具的强大特性,特别是对于团队来说很重要的知识库功能,是我个人认为对职场同学,特别是对于技术管理同学来说很重要的一种增强个人竞争力的途径。 在以前,如果要创建自己或者团队的知识库,需要手动去搜索信息,并且人工对信息进行梳理分类,然后手…

openmv识别颜色--单颜色识别

thresholds = [ (30, 100, 15, 127, 15, 127), # generic_red_thresholds (30, 100, -64, -8, -32, 32), # generic_green_thresholds (0, 30, 0, 64, -128, 0), ] //设置颜色阈值,分别代表lab的最大值最小值. sensor.reset() sensor.set_pixformat(sensor.RGB565) sensor.se…

flutter3-dymall仿抖音直播商城|Flutter3.27短视频+直播+聊天App实例

自研flutter3.27+dart3.6+getx实战抖音短视频+聊天+直播电商带货app商城应用。 flutter_dymall一款基于最新版Flutter3.27+Dart3.x+Getx+mediaKit原创实战研发抖音app带货商城项目。集成了直播+短视频+聊天三大功能模块。实现了类似抖音app首页全屏沉浸式联动左右滑动页面模块、…

DeepSeek-R1本地部署使用

春节期间突然被DeepSeek刷屏了,这宣传力度是真大,到处都是新闻和本地部署的教程,等热度过了过,简单记录下自己本地部署及相关的内容,就当电子宠物,没事喂一喂:D,不过有能力的还是阅读论文和部署完整版的进一步使用。 论文链接: https://github.com/deepseek-ai/DeepSee…

面向 Workload 级别的灵活可配置 Serverless 弹性解决方案

本文介绍的四种组件,在解决上述问题,具有各自的优势场景。用户可以根据自身实际场景选择合适的能力来用好弹性算力。Serverless 是云计算的进一步延伸,因此其继承了云计算的最大特点,即按需弹性伸缩。这样的模型设计让开发者无需关注具体的部署资源,充分利用资源规模效应,…

腾讯云 TI 平台部署与调用DeepSeek-R1大模型的实战指南

今天我们将继续探讨如何部署一个私有化的 DeepSeek-R1 大模型,具体的部署过程我们将利用腾讯云的 TI 平台进行操作。当前,腾讯云 TI 平台为用户提供了免费体验的满血版 DeepSeek-R1 大模型,同时该平台还提供了开放的 API 接口服务,用户可以方便地将其接入到自己的平台中,进…

本地化部署deepseek For_Mac

最近deepseek非常火爆,蒸馏算法的落地,实现了小资源跑大模型,也极大的降低了本地化运行的门槛,为打工人带来了福音;本地化运行可以解决脱网、隐私、审计等重要问题,适合闲暇聊个天、练练英语、完成打工任务 等step1 下载并安装Ollama Ollama是一个开源的 LLM(大型语言模…

数字先锋 | 车企,出海!天翼云AOne擦亮车企“智慧服务”新名片!

近年来,中国汽车市场迎来巨变,消费者的消费习惯不断变迁,价格战愈演愈烈......如何紧跟数字化转型步伐,实现稳健经营,成为车企所面临的时代命题。作为一家科技型制造企业,某车企主营业务涉及汽车及核心三电等产品的研发、制造、销售及服务。公司产品线覆盖新能源汽车和传…