7-MySQL中文乱码问题

下面正式开始mysql操作学习了,基础知识点会枯燥,会无味,会焦虑,但是相信当你熟练掌握后会无比的兴奋,因为你在见证数据给这个时代带来的伟大变革,你正在见证由数据库驱动的信息革命

一.中文乱码问题

image.png

image.png

image.png

由于服务器编解码和客户端编解码不一致,所以本质上我们把插入数据的指令传送到服务器上执行,会出现乱码,反而言之,从服务器传送过来的数据也会是乱码


image.png

4.MySQL中的中文问题
create table if not exists stu12(
id int auto_increment primary key,
name varchar(20)
);
insert into stu12 values(null, 'lnj');
# 默认情况下插入中文会报错
# 但是报错的原因不在于插入的是否是中文
# 而是因为插入数据的时候本质上是从客户端将插入语句发送到了MySQL服务器,
# MySQL服务器接收到插入语句之后再执行插入语句
# 如果客户端是以GBK发送的, 而服务端是以UTF8接收的, 那么就会报错(不能识别)
insert into stu12 values(null, '黄忠');
#查看服务器编解码字符集
show variables like 'character_set_%';
+--------------------------+------------------------------------+
| Variable_name | Value |
+--------------------------+------------------------------------+
| character_set_client | utf8 以什么字符集接收客户端发送的数据 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8 以什么字符集给客户端发送数据 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | D:\Developer\MySQL\share\charsets\ |
+--------------------------+------------------------------------+
#解决中文不能插入和返回中文是乱码的问题
#将客户端和MySQL服务器的编码设置为一样的即可
#windows的终端无法修改编码, 所以我们可以通过set names gbk;来修改MySQL的字符集
#set names gbk;会自动修改MySQL服务器接收和返回的编码方式
character_set_client : 接收客户端的编码方式
character_set_results: 返回给客户端的编码方式
--------------------------极客江南

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容