【数据库复习笔记】3.关于在cmd中中文乱码问题

首先声明:此文章所用数据库均为捏造,如有雷同纯属巧合。

今天在使用cmd操作数据库时遇到的一个问题,就是cmd的默认字符集为936,即GBK格式。而我所用的数据库均保存为utf8格式,然后出现了如下问题:
【数据库复习笔记】3.关于在cmd中中文乱码问题_第1张图片

我首先想到的是使用chcp 65001命令来修改cmd的代码页,结果如下所示:
【数据库复习笔记】3.关于在cmd中中文乱码问题_第2张图片
输出是正常了,但是搜索毫无改进是不是?后来在网上搜了搜,发现我们修改的代码页并不能从根本上解决这个问题。
我们的初衷是保证cmd客户端和MySQL两者编码一致,而cmd默认为936,MySQL一般为utf8,我们之前试的都是修改cmd的字符编码,那能不能让MySQL的返回数据的编码变为utf8呢?显然是可以的。
【数据库复习笔记】3.关于在cmd中中文乱码问题_第3张图片
使用set charset gbk;可以发现显示结果没有问题,且布局显然与之前的乱码相同,比较丑陋,但是毕竟问题解决了不是?注意,这个更改是临时的,即退出该cmd后就无效了,下次使用仍需输入。
PS:set charset gbk;为两条指令组合而成,即set character_set_results = gbk;和set character_set_client=gbk;前条指令告诉MySQL返回给我的结果为gbk格式,后条指令告诉MySQL我给的操作命令为gbk格式。

【数据库复习笔记】3.关于在cmd中中文乱码问题_第4张图片

你可能感兴趣的:(数据库复习笔记,数据库乱码)