2019独角兽企业重金招聘Python工程师标准>>>
问题:在pycharm中正常的fetchall拉取数据,能够正常显示,而在cmd中直接select却出现中文乱码。
解决思路:右键查看cmd命令窗口属性得到,cmd窗口默认编码是gbk(如下图所示),而设置的mysql编码为utf-8,所以这里字符编码不一致便出现了乱码。
解决办法:将两者编码设置一致即可,mysql为了保存中文字符,继续使用utf-8编码较为方便,而cmd端如果修改编码格式为utf-8,则不能正常的输入中文字符,且依然会出现乱码,所以较好的方式是在cmd进行查询时进行转换,也就是告诉mysql,cmd端接收的字符编码格式为gbk即可,这样两边都不用修改,也可正常常看。
修改命令如下:
set character_set_client=gbk;
set character_set_results=gbk;