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

本文详细介绍了MySQL中的字符集设置及转换机制,包括客户端和服务端之间的字符集转换过程、如何查看和修改数据库编码、以及校对集的概念和作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值