java操作数据库,查询表出现乱码。

1.分析出现问题原因

根据出现乱码‘?’,可以判断可能是插入的数据中含有中文而数据库编码方式不兼容中文导致的。

2.如何解决?

根据上面的判断,需要修改数据库的编码方式。

(1)找到安装mysql的目录,如下图所示情况

java查询数据库中重名 java查询数据库中文乱码_mysql

(2)创建myini配置文件,具体内容如下(注意myini文件不是放入到bin目录里面!!!)

[client]#客户端
default-character-set=utf8
port = 3306
[mysqld]#服务器
basedir=D:\environment\mysql\mysql-5.7.19\mysql-5.7.19-     winx64\
datadir=D:\environment\mysql\mysql-5.7.19\mysql-5.7.19-winx64\data\
port=3306
skip-grant-tables
character_set_server=utf8

(3)配置完成后需要重新启动mysql服务(在管理员权限下执行命令行)
①关闭服务
net stop mysql ②启动服务
net start mysql

(4)登录mysql查询编码方式
通过如下命令行查询 show variables like 'character_set_%';

java查询数据库中重名 java查询数据库中文乱码_配置文件_02

小结:修改mysql的编码方式:①找到mysql的安装目录下的bin目录②在此处创建一个配置文件(如果已经存在则直接修改内容),并修改编码格式 ④重启mysql服务即可成功设置编码格式