MySQL-客户端连接时的编码问题

查看字符编码

-- 查看当前支持哪些字符集
show character set;

服务器据集: character_set_server, collation_server
数据库默认数据集:character_set_database, collation_database
系统元数据数据集:character_set_system, collation_system
连接数据集:character_set_connection, collation_connection
结果数据集:character_set_results, collation_results

服务器字符集和排序

服务器字符集和排序规则,可以在服务启动的时候通过命令行参数或选项文件设置,也可以在运行时修改。

不指定字符集,则默认使用 utf8mb4,不指定排序规则,则根据当前字符集确定默认的排序规则。、
如下三条命是等价的:

mysqld
# 默认字符集是 utf8mb4
mysqld --character-set-server=utf8mb4
# utf8mb4 的默认排序规则是 utf8mb4_0900_ai_ci
mysqld --character-set-server=utf8mb4 \
  --collation-server=utf8mb4_0900_ai_ci

可以在编译时修改默认字符集。

服务器的默认字符集设置,有且仅有唯一一个用途:crate database 创建数据库的时候,如果没有指定数据库的默认字符集,则使用服务器
设置的字符集和排序规则。

查看服务器字符集设置,使用系统变量 character_ser_server, 和 collaction_server.

数据库字符集和排序规则

每个数据库都有默认的字符集合排序规则设置。create database 和 alter database 语句都有可选地字符集设置子句,这个子句允许数据库使用不同于当前服务器字符集的字符集。

CREATE DATABASE db_name
    [[DEFAULT] CHARACTER SET charset_name]
    [[DEFAULT] COLLATE collation_name]

ALTER DATABASE db_name
    [[DEFAULT] CHARACTER SET charset_name]
    [[DEFAULT] COLLATE collation_name]

数据库的各种选项存放在数据字典中,这个表 INFORMATION_SCHEMA.SCHEMATA 。

每个连接都有个默

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值