Mysql数据库核心技术(三)-查询和设置客户端编码及传输编码,解决乱码
我们在执行数据库操作命令时,往往都会包含中文字符,而且今后我们在执行查询命令时,列出的结果往往也会包含中文,遗憾的是,mysql是外国人开发的,所以在默认情况下,它只能正常输出英文,所以我们在进入正式学习之前,先解决一下编码问题。首先,我们来查询一下客户端编码及传输编码,连接数据后执行以下命令(今后,我们只会说执行以下命令,就不再赘述连接数据库这句话了)
show variables like 'character_set_%';结果如下:
我们来解释一下上面列出的内容,我们只需要知道以下三行的意思足矣:
character_set_clienshowt//表示服务器用什么编码接受客户端的指令
character_set_database//表示数据库用什么编码存储数据
character_set_results//表示用什么编码返回结果
以上这些大家记不住也没有关系,只要脑子里有个印象,在确实需要时查一下或再来看一下本文即可。
此时,我们如果执行查询命令,如果查询结果中包含中文,它会显示为乱码。当然,大家现在还不必关系我在下面使用的命令,今后我们都会一一讲解,执行查询,结果如下:
这样的结果是不是很扎心呢?
没关系,下面,我们只需要执行以下命令,就可以同时设置客户端指令的编码与返回值的字符编码为gbk,这样显示结果就会正常,请执行以下命令
(请注意:这条命令今后我们每次连接数据库后都要执行一次,所以请务必记住)
set names gbk;然后我们再来查询一下试试,结果如下:
已经显示正常了。
好了,这节我们先讲这么多,下一篇我们再见。
这么好的教程不回复说不过去~ 原创教程,非常好! 老师辛苦了 全网最好的mysql入门图文教程,没有之一。 这样的教程我喜欢 看一遍全部明白,剩下的就是记了,老师总结的很到位,记忆难度也小了不少 楼主高人,不服不行 很好的mysql教程,支持楼主发布原创教程 我又来卷了