1.MySQL时区不一致导致的问题
话不多说,从错误即可知道是时区的错误,因此只要将时区设置为你当前系统时区即可,因此使用root用户登录mysql,按照如下图所示操作即可。
我电脑的系统为北京时区,因此在系统中设置后,再连接数据库运行,一切OK!
或者修改链接:
url: jdbc:mysql://localhost:3306/information_schema?
useUnicode=true&characterEncoding=UTF-8&
allowMultiQueries=true&useSSL=false&serverTimezone=GMT%2B8
2.Java插入中文到数据库中文变成问号???解决办法
解决办法一:
(1):进入mysql的安装目录,找到my-default.ini或者my.ini配置文件,你可以将my-default.ini修改成my.ini,影响不大的;
(2):我的my.ini只有一个[mysqld]标签,其他均处于注释状态,我们在my.ini里面做两件事
在[mysqld]标签下添加:character-set-server=utf8
增加一个[client]标签,并且在[client]标签下添加:default-character-set=utf8
(3):到任务列表中重启mysql服务;
(4):进入dos界面,登录数据库,输入命令:show variables like "%char%";如果dos界面出现的下图所示结果,说明你修改mysql编码成功啦!
解决办法二:
在url后面添加参数:url=jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf8
插入前
DriverManager.getConnection("jdbc:mysql://localhost:3306/students", "root", "");
插入后
DriverManager.getConnection("jdbc:mysql://localhost:3306/students?useUnicode=true&characterEncoding=utf-8", "root", "");