MYSQL的高级进阶教程-1.编码设定

MYSQL的高级进阶教程-1.编码设定

在这里插入图片描述
博主曰:一杯茶,一包烟,一个小姐姐看一天。



最近总是莫名有人私聊我一些mysql高级进阶的问题,那就在这里统一和大家聊聊,如有错误欢迎指导纠正。

MYSQL数据库中文乱码

数据库存储中文乱码是常见的小问题,对于新手或者没有自己装过数据库的人来说可能没有遇到过数据库乱码问题。还有的人只知其然,却不知其所以然。今天我们就来彻底干掉这个知识点。其实乱码问题解决起来非常简单 ,只需要配置文件里修改数据库编码就可以了,我们首先来学习一些基础知识。
1.举个栗子:

当向 MySQL 数据库插入一条带有中文的数据形如 insert into employee values(1,‘鲁智深’,‘bonze’,‘2020-07-17’.‘是个喝酒吃肉的好和尚!’); 出现乱码时,使用语句 show variables like ‘character%’; 来查看当前数据库的相关编码集。

2.上述问题出现原因:
MySQL 共有六处使用了字符集,其中database、server、system(默认UTF-8,无法做出修改)属于服务器相关;connection、client、results 属于客户端相关;而mysql中默认字符集是latin1,他是不支持中文的。
在这里插入图片描述
想保证中文不乱吗只需要使mysql使用的字符集支持中文且一致就可以了。通常使用UTF-8

名称描述
character_set_client客户端使用的字符集
character_set_connection数据库连接使用的字符集,默认服务器端字符集保持一致
character_set_database某个库的字符集,如果建库没有指定将使用服务器安装时指定的默认字符集
character_set_results返回给客户端数据时用到的编码,没有指定将使用服务器安装时指定的默认字符集
character_set_server为服务器安装时指定的默认字符集设定
character_set_system为数据库系统使用的字符集设定

3.解决问题
解决上述问题有两种方式,一种是临时解决,在此不做过多赘述。我们要说的就是永久解决这个问题,千言万语其实就是一句话,在 MySQL 的安装目录下有一个 my.ini 配置文件(Linux下是/etc/my.cnf),在这个配置文件中 [mysql] 与客户端配置相关,[mysqld] 与服务器配置相关。默认配置如下:

[mysql]
default-character-set=utf8

[mysqld]
character-set-server=utf8

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值