MySql中UTF-8编码的数据在CMD窗口显示乱码的解决方法

在CMD窗口下无法正常显示MySql的UTF-8编码格式的数据,首先查看数据的编码格式
MySql中UTF-8编码的数据在CMD窗口显示乱码的解决方法

查看表的编码:
MySql中UTF-8编码的数据在CMD窗口显示乱码的解决方法

查看表的数据,此时显示乱码
MySql中UTF-8编码的数据在CMD窗口显示乱码的解决方法

使用命令 set names gbk;

MySql中UTF-8编码的数据在CMD窗口显示乱码的解决方法

再次查看数据,正确显示
MySql中UTF-8编码的数据在CMD窗口显示乱码的解决方法

为什么?

我们可以看到client,connection,results的编码改为gbk,而database,server,system编码仍为utf8。此时数据虽然是utf8编码存储的,但是返回客户端 结果集为gbk,CMD窗口的编码是gbk,这样就可以正确显示了。