为什么会出现中文乱码呢?
这是因为Windows的CMD默认编码是GBK,MySQL里面是按照UTF-8编码存储数据的,所以CMD不支持自然就乱码了。而刚才我们使用到的Navicat工具,由于它本身的编码被设置为utf-8,所以我们的各种操作都能正常进行。
解决方案
在输入SQL语句前先设置编码:set names gbk;或者SET NAMES GB2312; 再输入SQL。
为什么这样设置就能正常显示utf-8编码的数据呢?
请看图:
可以看到,client,connection和result的编码已经设置为gbk了,但server,database,system的编码还是utf-8!这就是说,虽然数据是使用utf-8编码存储的,但是客户端以及返回的结果集是gbk的,而此时cmd窗口的编码正好是gbk,因此该结果集能正确显示了。
---------------------
作者:DunYLin
来源:CSDN
原文:https://blog.csdn.net/dunylin/article/details/54947865
版权声明:本文为博主原创文章,转载请附上博文链接!