在使用Java插入数据到数据库表的时候,遇到了插入的中文显示为(??)的问题,查看数据库的编码和字符集为utf8,相应字段的编码和字符集也是utf8,此处没有问题,猜想是MySQL系统字符集的问题
1.找到并打开MySQL安装目录下的my.ini
文件
在[client]和[mysqld]如果没有下面的两行,即手动写入
[client]
default-character-set = utf8
[mysqld]
character-set-server=utf8
然后从上往下阅览整个my.ini
文件,如果有不是utf8的字符集设置就全部改为utf8
2.在MySQL控制台查看系统字符集:
修改完毕,在Windows服务中找到MySQL,重启服务。
使用查看字符集的命令:
show variables like '%char%';
查看系统的字符集如下图
再次插入数据(??)消失