相信很多小伙伴都遇到过数据库中文乱码问题,很头疼,明明Navicat上的编码格式都是utf-8是一样的啊? 为什么还是乱码?
原因是Navicat上的数据库编码格式并不是真正的编码格式 ,所以明白了吗
首先在cmd窗口登录mysql,然后使用命令:show variables like 'character_set%' ;
查看你的数据库编码格式,你会发现并不是utf-8:
接下来就要修改编码格式:
找到你所在的mysql安装目录,找到my.ini文件
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
[mysqld]
default-character-set=utf8
以上 3 个 section 都要加 default-character-set=utf8,平时我们可能只加了 mysqld 一项。
然后重启 mysql,执行
mysql> SHOW VARIABLES LIKE 'character%';
确保所有的 Value 项都是 utf8 即可
但是当你重启mysql服务的时候,你会发现出现了一下错误:
这是因为mysql版本的问题,把mysqld的 default-character-set=utf8 改为 character-set-server=utf-8 即可
然后数据库的编码格式如下:
最后的最后,如果实在不行,就到mysql的安装路径下找到bin/MySQLInstanceConfig.exe 重新配置编码格式为utf-8即可