如何解决MySQL数据库中插入中文数据时的乱码问题
常见问题一:没有设置数据库的相应中文字符集类型
常见问题二:设置了GBK或UTF8依然出现乱码,原因可能是MySQL的配置文件没有识别字符集的改变
解决途经:
(一)针对问题一:
两种方法(1)在Navicat创建数据库时设置字符集,比如GBK或UTF8
(2) 通过cmd命令行方式
输入 mysql -u -p 1234(此处为设置的密码)
输入 show variables like ‘character%’;
SHOW VARIABLES LIKE ‘collation_%’;
查看编码格式和字符集格式,如下图:
若想在数据库中输入中文字符,则继续在cmd页面输入:
mysql> SET character_set_client = utf8 ;
mysql> SET character_set_connection = utf8 ;
mysql> SET character_set_database = utf8 ;
mysql> SET character_set_results = utf8 ;
mysql> SET character_set_server = utf8 ;
mysql> SET collation_connection = utf8 ;
mysql> SET collation_database = utf8 ;
mysql> SET collation_server = utf8 ;
之后重启MySQL服务
再通过 show variables like ‘character%’;
SHOW VARIABLES LIKE ‘collation_%’;
查看字符集是否改变
(二)解决问题二:
已经按照上面的方式设置了字符集的格式,那么依然有中文乱码或再次查看编码格式时又变回了默认的编码格式
这时我们可以在MySQL安装路径下的my.ini文件(若只有my-default文件,可以复制粘贴重命名为my.ini)中设置编码格式,设置的位置和内容如下:
(如果遇到需要管理员权限无法保存修改后的文件时,可以先剪切粘贴到其他位置更改完成后再粘回来)