人亦已歌 发表于 2023-1-15 23:52:55

Mysql数据库核心技术(三)-查询和设置客户端编码及传输编码,解决乱码

我们在执行数据库操作命令时,往往都会包含中文字符,而且今后我们在执行查询命令时,列出的结果往往也会包含中文,遗憾的是,mysql是外国人开发的,所以在默认情况下,它只能正常输出英文,所以我们在进入正式学习之前,先解决一下编码问题。
首先,我们来查询一下客户端编码及传输编码,连接数据后执行以下命令(今后,我们只会说执行以下命令,就不再赘述连接数据库这句话了)
show variables like 'character_set_%';结果如下:


我们来解释一下上面列出的内容,我们只需要知道以下三行的意思足矣:
character_set_clienshowt//表示服务器用什么编码接受客户端的指令
character_set_database//表示数据库用什么编码存储数据
character_set_results//表示用什么编码返回结果
以上这些大家记不住也没有关系,只要脑子里有个印象,在确实需要时查一下或再来看一下本文即可。
此时,我们如果执行查询命令,如果查询结果中包含中文,它会显示为乱码。当然,大家现在还不必关系我在下面使用的命令,今后我们都会一一讲解,执行查询,结果如下:


这样的结果是不是很扎心呢?
没关系,下面,我们只需要执行以下命令,就可以同时设置客户端指令的编码与返回值的字符编码为gbk,这样显示结果就会正常,请执行以下命令
(请注意:这条命令今后我们每次连接数据库后都要执行一次,所以请务必记住)
set names gbk;然后我们再来查询一下试试,结果如下:


已经显示正常了。
好了,这节我们先讲这么多,下一篇我们再见。

kndanny 发表于 2023-1-30 17:04:04

这么好的教程不回复说不过去~

老王家小子 发表于 2023-1-31 00:40:00

原创教程,非常好!

小笔笔 发表于 2023-1-31 08:14:43

老师辛苦了

laiwu1989 发表于 2023-1-31 16:47:48

全网最好的mysql入门图文教程,没有之一。

hunhan 发表于 2023-2-1 04:49:56

这样的教程我喜欢

追梦人 发表于 2023-2-1 19:52:16

看一遍全部明白,剩下的就是记了,老师总结的很到位,记忆难度也小了不少

寂寞的悲哀 发表于 2023-2-2 09:56:49

楼主高人,不服不行

28795277 发表于 2023-2-15 02:09:24

很好的mysql教程,支持楼主发布原创教程

127264444 发表于 2023-2-16 22:05:51

我又来卷了
页: [1] 2 3 4
查看完整版本: Mysql数据库核心技术(三)-查询和设置客户端编码及传输编码,解决乱码