MySQL字符集和排序规则详解

MySQL提供了各种字符集和排序规则选项。
字符集设置关系到数据存储,以及客户端和MySQL实例之间的交互,以及字符串比较规则。
(1)MySQL实例、数据库、表、列四个级别可设置字符集(2)MySQL自定义字符集支持InnoDB、MyISAM、Memory三种存储引擎(3)如何查看当前支持的字符集由MySQL提供。
有两种:一种是查看information_schema.character_set系统表,另一种是使用[showcharacterset;]命令查看。
每个指定的字符集都会有一个或多个支持的排序规则,可以通过两种方式查看:一种是查看information_schema.collat​​ions表,另一种是使用[showcollat​​ion]命令查看。
(1)检查utf8mb4字符集对应的校对规则。
showcollat​​ionwherecharset='utf8mb4';(2)parsecollat​​ion命令通常以对应字符集的名称开始,以其自身的属性结束。
例如,排序规则utf8_general_ci和latin1_swedish_ci分别与字符utf8和latin1匹配。
设置排序规则。
•如果匹配特定于特定语言,则中间部分是该语言的名称。
例如,utf8_turkish_ci和utf8_hungarian_ci代表UTF8字符集中的土耳其语和匈牙利语。
•排序规则名称的尾随字符指示它是否区分大小写。
敏感,考虑变音符号以及是否为二进制A。
如果仅指定字符集而未指定排序规则,则使用该字符集的默认排序规则。
B.仅指定排序参数时。
如果没有字符集,则将使用排序规则名称中包含的字符集。
C.如果创建数据库时没有指定这两个元素,则将使用实例级字符集和排序规则。
了解有关C++后台开发的更多信息。
技术点内容包括C/C++、Linux、Nginx、ZeroMQ、MySQL、Redis、MongoDB、ZK、流媒体多媒体、音视频开发、Linux内核、TCP/IP、协程和DPDK。
Linux高级C/C++服务器开发架构师/C++服务器开发架构师免费培训地址【文章福利】另外还收集了一些C++核心开发架构师相关的培训资料、面试题、培训视频和培训计划,免费发放。
您可以点击查看数据库编码。
Windows上默认的mysql5.7编码如下所示showvariableslike'%。
character%';(1)每个与数据库的客户端连接都有其自己的字符集和整理属性。
客户端发送的语句的字符集由_set_client符号确定,与服务器交互时由_set_connection和Collat​​ion_connection符号确定。
参数将被转换为结果语句。
当需要比较显示的字符串时,这是由collat​​ion_connection参数决定的。
报表返回给客户。
客户端(3)客户端可以方便地配置字符集和校对规则。
例如,使用SETNAMES'charset_name'[COLLATE'collat​​ion_name']指定后续语句以字符集格式传递到服务器,执行结果如下。
还返回该字符集的格式。
SETcharacter_set_client=utf8mb4;SETcharacter_set_results=utf8mb4;SETcharacter_set_connection=utf8mb4;MySQL5.7以后建议使用utf8mb4编码而不是utf8编码。
在Windows或Linux上安装MySQL后,您需要做的第一件事就是更改编码。
蓝色部分需要调整。
修改完成后,重启MySQL服务,检查编码。
源码链接:第六节:MySQL字符集和校对规则详解-姚鹏飞-博客园

MySQL 数据库4种字符集查看方法

1.检查数据表的字符集mysql>showcreatetablemytable;该命令还可以检查用于创建该表的SQL语句。
2、检查数据库连接状态:mysql>showprocesslist;mysql>showprocesslist\G;3.使用SHOWCHARACTERSET语句列出数据库中可用的字符集:4.要列出字符集的排序规则(Collat​​ion),请使用SHOWCOLLATION语句。
例如,要查看latin1字符集(“西欧ISO-8859-1”)的排序规则,请使用以下语句查找名称以latin1开头的排序规则:mysql>SHOWCOLLATIONLIKE'latin1%';