mysql插入数据显示为问号或者乱码问题的解决方法(比较啰嗦,请仔细阅读到最后)
经常会发现mysql插入数据显示为问号或者乱码的问题,或是自己出现问题亦或是同学问我这问题,依然记得自己第一次解决这问题尝试了修改字段字符集(无效),也尝试修改mysql配置文件,当时居然因为找不到配置文件的位置而被迫放弃,最后问了个朋友没出现这问题,因为他用的mysql5.7没出现这问题,而我用的是mysql5.5,最后我选择了逃避,卸载,然后装上了5.7版本的mysql
重点简述(废话很多,目的在于记录学习过程)
- mysql 5.5(选用原因:课程需要)
- 插入数据显示问号或乱码
- 修改字段字符集无效
- mysql5.7可以逃避这个问题,但是我觉得不是应该采取的方案
以下是错误方案(修改字段字符集)
修改之前的查询结果
查看全表属性
修改方案,修改字段字符集 alter table 表名 change 字段名 字段名 字段类型 character set 你要的字符集
事实证明这是无效的,因为通过java插入数据依然显示问号 这里没有截图
- 但是我发现数据通过MySQL workbench可以正常插入并显示,
- 修改过字符集后也可以通过终端书写插入语句进行插入,
- 以为自己成功了,但是回到java里面调用方法发现插入的中文数据依然显示为??
让我深思的问题,但是好在学习了一点虚拟机,思绪飘到了关于client的问题,最后查询了一些资料,决定尝试修改mysql.init 配置文件
正确修改方法(修改mysql.init配置文件)
mysql.init配置文件保存在mysql安装路径下
因为我比较久没用了,也担心有的同学找到不到这个配置文件
- 第一步找到该文件(我使用的搜索方式找到,能快速找到的同学直接到第二步)
这个截图这儿有点问题,标错了,就是回到bin目录的上一级目录也就是mysql目录
- 第二步:进行配置文件的修改
多说一嘴:如果采取的默认安装方式,这个文件应该在C盘下,C盘是系统盘,里面的文件必须授予管理员权限才能进行修改,授权方式比较繁琐,比较便捷的操作方式是把该文件剪切到桌面修改完毕放回原文件夹(切勿放错)
- 第三步:都第一次没有修改成功,后来学习了php才知道配置文件更改了就需要将mysql服务重启动,有的人选择重启电脑,太麻烦了 在这里通过services找到服务并打开
- 重启动服务:必须重启动才能生效
再次插入数据,发现问题解决
最后,如果有问题,欢迎交流,这是我的微信,不过,我也只是个学生而已(大佬别来怼我)