mysql5.7中文乱码问题解决方法:
今天在云服务器上测试服务端程序时,发现用户名中带有中文的无法登录,而英文的可以正常登录,根据报错信息分析,属于数据库中文乱码的问题。在这里记录一下解决方法,方便日后碰到同类问题可以快速解决。
首先将文件夹属性设为 显示隐藏的文件或文件夹 ,然后在系统盘中你会看到ProgramData文件夹。找到C:\ProgramData\MySQL\MySQL Server 5.7这个路径下的my.ini配置文件。然后使用记事本编辑该配置文件,找到[client],在它的下一行加上:
default-character-set=utf8
然后在[mysql]下一行同样加上:
default-character-set=utf8,
在[mysqld]下面加上:
character-set-server=utf8
collation-server=utf8_general_ci
然后选择“另存为”,记得是 “另存为”! “另存为”! “另存为”!(重要的事情说三遍)
因为记事本默认将文件保存为utf8格式,这样的话,你会发现mysql启动不了。选择另存为的时候记得在右下角将格式改为ANSI编码格式,然后覆盖掉原来的文件,重启mysql。
通过win+R快捷键打开cmd命令行,键入mysql -h localhost -u root -p,输入密码,进入mysql;
【如果提示mysql不是内部或外部命令,那是因为没有配置MySQL的环境变量,在我的电脑–属性–高级系统设置–环境变量中,选择系统变量下的Path并编辑,添加你的mysql安装目录(我的是C:\Program Files\MySQL\MySQL Server 5.7\bin),保存确定就OK了。】
进入mysql之后,输入show variables like “char%”; 记得以分号结束,结果是这样的,就说明成功了。