mysql概要(九)字符集和校对集

1.mysql 字符集有细致设置:(补充mysql编码方式

2.mysql字符处理机制是:

数据库和客户端之间存在一个字符集转换器(后文简称转换器)将客户端字符编码(必须告诉服务端的)转换成一种中间编码的数据(可自定义的但保证转换不会丢失数据),

然后再转换成数据库定义的编码,取数据时,转换器将中间编码转换为需要的返回编码(可自定义)。

set names gbk这种修改是窗口级别的,只针对本窗口有效,打开另外一个窗口修改无效。

也可发现数据库底层的编码方式没有改变,插入数据后还是以utf8编码方式保持。

设置通知服务端客户端的字符编码类型:

查询当前使用的编码:

show variables like '%character%';

结果:

| Variable_name            | Value   |
+--------------------------+---------+
| character_set_client     | utf8mb4 |
| character_set_connection | utf8mb4 |
| character_set_database   | latin1  |
| character_set_filesystem | binary  |
| character_set_results    | utf8mb4 |
| character_set_server     | utf8    |
| character_set_system     | utf8    |
| character_sets_dir       | G:ʵ    |
+--------------------------+---------+

查看校队集:

show variables like '%collation%';

结果:

| Variable_name        | Value              |
+----------------------+--------------------+
| collation_connection | utf8mb4_general_ci |
| collation_database   | utf8_general_ci    |
| collation_server     | utf8_general_ci    |
+----------------------+--------------------+

修改数据库编码:(这种方式修改编码注意校队集的匹配)

set character_set_database='utf8';

3.出现乱码和丢失的情况

其实上面的所说编码,包括编码和解码。

查询数据库系统支持的字符集种类:

4.校对集:对字符进行排序规则。一种字符集可有多种校对集。

4.1查看支持的校对集:

4.2定义校对集必须和字符集方式对应:

原文地址:https://www.cnblogs.com/straybirds/p/5134838.html