数据库字符集设置

character_set_client

客户端字符集(客户端向服务器发送的请求)

character_set_connection

数据库连接字符集(客户端和数据库的连接)

character_set_server

数据库服务器的字符集

character_set_database

数据库字符集(若未指定按character_set_server 指定字符集)

character_set_results

返回结果字符集(数据库给客户端返回时的字符集)

character_set_system

系统字符集

查看并设置数据库字符集变量

1.设置会话级别的字符集,服务器为每一个连接的客户端都提供了系统变量,作用域为当前的连接(会话)。如下图为一次数据库连接。
在这里插入图片描述
show variables like '%char%'; 查看当前连接的字符集
在这里插入图片描述
set names utf8;
在这里插入图片描述

对应的是服务器端以下几个命令:
  SET character_set_client = utf8;
  SET character_set_results = utf8;
  SET character_set_connection = utf8;
  
当前连接的字符集已经确定,可以通过set names utf8;动态修改,若要修改全局的默认字符集(确保下次连接字符集为utf8),需要修改my.ini配置文件

修改配置文件,加上如下设置:

[client]

default-character-set=utf8        # 客户端字符集

[mysql]

default-character-set=utf8

[mysqld]
init_connect = ‘SET NAMES utf8’    #每个普通用户连接时都会执行
character-set-server = utf8       #服务器端字符集

重启MySQL服务,以后全局默认的字符集为utf8。如下,新建连接,查看全局字符集。
在这里插入图片描述

2.设置全局的字符集,,服务器每次启动将为所有的全局变量赋初始值,针对于所有的会话(连接)有效。重启数据库服务器会失效,要想服务器重启后仍有效,只能修改配置文件。

show global variables like '%char%';       查看全局字符集
set global character_set_database=utf8;
set global character_set_server=utf8;

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值