Mysql8.0 字符集

在8.0版本之前,MySQL默认的字符集为latin1,而8.0版本默认的字符集为utf8mb4。

latin1是ISO-8859-1的别名,有些环境下写作latin-1。ISO-8859-1编码是单字节编码,不支持中文等多字节字符,但向下兼容ASCII,其编码范围是0x00-0xFF、0x00-0x7F之间完全和ASCII一致、0x80-0x9F之间是控制字符、0xA0-0xFF之间是文字符号。

 MySQL中utf8字符集是utf8mb3的别称,使用三个字节编码表示一个字符。自MySQL 4.1版本被引入,能够支持绝大多数语言的字符,但依然有些字符不能正确编码,如emoji表情字符等,为此MySQL 5.5引入了utf8mb4字符集。

在MySQL 5.7对utf8mb4进行了大幅优化,并丰富了校验字符集。mb4就是“most byte 4”的意思,专门用来兼容四字节的Unicode,utf8mb4编码是utf8编码的超集,兼容utf8,并且能存储4字节的表情字符。如果原来某些库和表的字符集是utf8,可以直接修改为utf8mb4,不需要做其他转换。

查看数据库的默认字符集:

mysql> show variables like 'character_set_database';
+------------------------+---------+
| Variable_name          | Value   |
+------------------------+---------+
| character_set_database | utf8mb4 |
+------------------------+---------+
1 row in set, 1 warning (0.00 sec)

字符集校对规则是在字符集内用于字符比较和排序的一套规则,如有的规则区分大小写,有的则无视。校对规则特征如下。
• 两个不同的字符集不能有相同的校对规则。
• 每个字符集有一个默认的校对规则。
• 校对规则存在命名约定,以其相关的字符集名开始,中间包括一个语言名,并且以_ci、_cs或_bin结尾。其中_ci表示大小写不敏感、_cs表示大小写敏感、bin表示直接比较字符的二进制编码,即区分大小写

查看utf8mb4的字符的校对规则:

mysql> show collation like 'utf8mb4_0900%';
+--------------------+---------+-----+---------+----------+---------+---------------+
| Collation          | Charset | Id  | Default | Compiled | Sortlen | Pad_attribute |
+--------------------+---------+-----+---------+----------+---------+---------------+
| utf8mb4_0900_ai_ci | utf8mb4 | 255 | Yes     | Yes      |       0 | NO PAD        |
| utf8mb4_0900_as_ci | utf8mb4 | 305 |         | Yes      |       0 | NO PAD        |
| utf8mb4_0900_as_cs | utf8mb4 | 278 |         | Yes      |       0 | NO PAD        |
| utf8mb4_0900_bin   | utf8mb4 | 309 |         | Yes      |       1 | NO PAD        |
+--------------------+---------+-----+---------+----------+---------+---------------+
4 rows in set (0.00 sec)

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

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

相关文章

学生信息的那些操作:(3)按姓名,查个人

有一学生成绩表&#xff0c;包括学号、姓名、3门课程成绩。请实现如下查找功能&#xff1a;输入一个学生的姓名&#xff0c;输出该学生学号、姓名、3门课程成绩 输入格式: 首先输入一个整数n(1<n<100)&#xff0c;表示学生人数&#xff1b; 然后输入n行&#xff0c;每…

关于CSS 盒子模型的基础教程

什么是CSS盒子模型&#xff1f; 在学习CSS布局时&#xff0c;一个非常重要的概念就是盒子模型。CSS盒子模型描述了网页中元素的布局方式&#xff0c;每个元素都被看作一个矩形的盒子&#xff0c;这个盒子包含了内容、内边距、边框和外边距四个部分。 盒子模型的组成部分 盒子…

Linux环境基础开发工具使用篇(三) git 与 gdb

一、版本控制器-git 1.简单理解: ①git既是服务端&#xff0c;又是客户端 ②git会记录版本的变化 ③git是一个去中心化的分布式软件 git/gitee 是基于git仓库搭建的网站&#xff0c;让版本管理可视化 2.git 三板斧提交代码 查看安装的git版本 git--version 命令行提交代…

FPGA IO命名与Bank划分

文章目录 IO的命名IO物理命名IO功能命名 Bank简介FPGA器件功能命名与Bank划分查找XILINXIntelLATTICE IO的命名 IO物理命名 FPGA的IO物理命名规则&#xff0c;也就是我们做管脚约束时候的命名。芯片通常是长方体或者正方体&#xff0c;所以命名通常采用字母数字组合的方式&am…

FMM 笔记:st-matching(colab上执行)【官方案例解读】

在colab上运行&#xff0c;所以如何在colab上安装fmm&#xff0c;可见FMM 笔记&#xff1a;在colab上执行FMM-CSDN博客 st-matching见论文笔记&#xff1a;Map-Matching for low-sampling-rate GPS trajectories&#xff08;ST-matching&#xff09;-CSDN博客 0 导入库 from…

华为畅享 60X 到底值得入手吗?这4点你必须要知道

作为一款主打千元机市场的机型&#xff0c;华为畅享 60X 到底怎么样&#xff1f;是否值得入手&#xff1f; 可以负责任的说华为畅享 60X 是一款性价比超高的手机&#xff0c;凭借其出色的硬件配置和适中的价格&#xff0c;不仅拥有华为完整的鸿蒙生态&#xff0c;同时它超大屏幕…

电源轨概念讲解

目录 1、电源轨定义2、模拟运放中电源轨概念3、芯片中电源轨概念 在电子设计中&#xff0c;我们经常会听到电源轨的概念&#xff0c;下面就针对他的定义和模电中的习惯叫法做一个简单的讲解&#xff1a; 1、电源轨定义 电源轨是指电路板上传输电力的线路&#xff0c;只要是连接…

【DL】深度学习之语音识别

目录 1 核心概念 2 安装依赖库 3 实践 语音信号处理&#xff08;Speech Signal Processing&#xff09;简称语音处理。 语音识别&#xff08;ASR&#xff09;和自然语言处理&#xff08;NLP&#xff09;&#xff1a;语音识别就是将语音信号转化成文字文本&#xff0c;简单实…

go 解压和压缩包

將压缩包放在zippath"D:/xx/xx/xx"中,解压到pathto"D:/xx/xx1/xx"中 type UploaddeployLogic struct {logx.Loggerctx context.ContextsvcCtx *svc.ServiceContextr *http.Request }func NewUploaddeployLogic(r *http.Request, svcCtx *svc.Serv…

Spring-Cloud-Gateway集成Sentinel限流

1&#xff09;gateway添加sentinel相关依赖 <spring-cloud.version>2021.0.1</spring-cloud.version> <spring-cloud-alibaba.version>2021.0.1.0</spring-cloud-alibaba.version><dependencies><!--gateway--><dependency><gro…

Linux yum与rpm区别

yum和rpm都是Linux系统中用于安装、升级和管理软件包的工具&#xff0c;但它们有一些区别。以下是yum和rpm的主要区别&#xff1a; 1. 功能&#xff1a;rpm是一种软件包管理工具&#xff0c;用于安装、升级和卸载软件包。它可以直接操作软件包文件&#xff0c;但不提供依赖关系…

JQUERY简介与分析

在现代的前端开发中&#xff0c;jQuery无疑是一个非常重要且广泛使用的工具库。它不仅简化了JavaScript的编写&#xff0c;还提供了丰富的功能和强大的选择器&#xff0c;使开发者能够更轻松地操作DOM元素、处理事件和实现动态效果。 简单来说&#xff0c;jQuery是一个快速、简…

【主流开发语言和开发环境介绍】

主流开发语言和开发环境介绍 1. 介绍2. 开发语言3. 开发环境 1. 介绍 下面是一些广泛使用的主流开发语言及其相关的开发环境。 2. 开发语言 Python 用途&#xff1a;通用编程、科学计算、数据分析、机器学习、Web开发等。流行库&#xff1a;NumPy, Pandas, TensorFlow, PyTor…

JavaWeb开发初体验

1.动态网站 动态网站可根据不同情况动态变更的网站&#xff0c;动态网站的网页文件包含程序代码&#xff0c;通过后台数据库与web服务器信息交互&#xff0c;由后台数据库提供实时数据更新和数据查询服务。 2.动态网站的功能特点 动态网站可以实现交互功能&#xff0c;…

面试redis篇-11Redis集群方案-哨兵

Redis提供了哨兵(Sentinel)机制来实现主从集群的自动故障恢复。哨兵的结构和作用如下: 监控:Sentinel 会不断检查您的master和slave是否按预期工作自动故障恢复:如果master故障,Sentinel会将一个slave提升为master。当故障实例恢复后也以新的master为主通知:Sentinel充当…

Springboot企业级开发--开发入门01

目录 目录 一.Spring Boot的主要特点和优势包括&#xff1a; 二.Spring Boot的核心功能可以归纳为以下几点&#xff1a; 三.Springboot是如何解决问题&#xff1f; Spring Boot 是一个开源的Java框架&#xff0c;其设计目标是为了简化新Spring应用的初始搭建以及开发过程。…

POST参数里加号+变成空格的问题处理

今天遇到个这样的问题&#xff0c;从前端传到后端的加密报文&#xff0c;里面包含了号&#xff0c;但在后端日志输出看出&#xff0c;变成空格。这个是由于经过RSA加密后引起的 解决办法&#xff1a; 1.前端转码&#xff1a;使用encodeURIComponent对参数进行转码 2.后端解码…

电脑上查看已保存WiFi密码方法

在电脑上查看WiFi密码有几种方法&#xff0c;以下是其中两种常见的方法&#xff1a; 方法一&#xff1a;通过已连接的WiFi网络查看密码 打开电脑的WiFi设置界面&#xff08;通常可以在任务栏的通知区域找到WiFi图标&#xff0c;点击即可进入设置&#xff09;。 找到已连接的W…

理解Stable Diffusion、LoRA、Dreambooth、Hypernetworks、Textual Inversion、Checkpoint

前言 在深度学习和人工智能的领域中&#xff0c;模型生成和调整技术的快速发展为创造性内容的自动化提供了新的可能性。本文将介绍四种重要的模型技术——Stable Diffusion、LoRA、Dreambooth、和Hypernetworks——它们在生成艺术、个性化模型调整和网络结构设计方面各自的特点…

【初始RabbitMQ】高级发布确认的实现

在生产环境中由于一些不明原因&#xff0c;导致 rabbitmq 重启&#xff0c;在 RabbitMQ 重启期间生产者消息投递失败&#xff0c; 导致消息丢失&#xff0c;需要手动处理和恢复。于是&#xff0c;我们开始思考&#xff0c;如何才能进行 RabbitMQ 的消息可靠投递呢&#xff1f; …