解决mysql和navicat乱码问题

1,首先进入mysql的my.ini文件,进行编码修改,全部改成utf8编码(这里就不赘述了,网上一搜一堆)

2,最重要的一点,把原先navicat创建的连接断开,重新创建新连接,在该新连接下创建库,表(如果在原来连接上进行创建表,会让你怀疑人生)

3,进行查询你会发现在navicat上不乱码,mysql的黑框框下面乱码,因为windows窗口默认的字符编码是gbk,而mysql是utf8,(所以就不用在意它了,总之是改对了)

 不要在命令行里去修改编码格式,改了没有效果的,要在配置文件中修改才行!!!

要充分理解mysql字符集有很多环节的概念,最重要的3个:
database:就是数据库内部存储字符串用的编码
connect :就是通过socket与mysql通信时的网络编码;
client:mysql命令终端和navicat都属于客户端,后台那个mysql进程才属于服务端(server);
以上3个字符集必须都一样。如果database和connect都是utf8,而client是gbk,那么你再通过utf8的编码去select出来,肯定是乱码。

相似内容链接:

https://blog.csdn.net/c_shell_python/article/details/82115242

原文地址:https://www.cnblogs.com/wskb/p/11557331.html