本篇文章小编给大家分享一下Idea连接MySQL数据库出现中文乱码问题解决方法,文章代码介绍的很详细,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看。
问题:当使用JDBC连接MySQL数据库时,插入中文显示乱码
解决方法:在连接代码中插入以下代码
String url = "jdbc:mysql://localhost:3306/你的数据库名?useUnicode=true&characterEncoding=utf8&serverTimezone=UTC&useSSL=false";
代码解读
useUnicode=true&characterEncoding=utf8
以上代码有两个作用:
1.存数据时:
数据库在存放项目数据的时候会先用UTF-8格式将数据解码成字节码,然后再将解码后的字节码重新使用GBK编码存放到数据库中。
2.取数据时:
在从数据库中取数据的时候,数据库会先将数据库中的数据按GBK格式解码成字节码,然后再将解码后的字节码重新按UTF-8格式编码数据,最后再将数据返回给客户端。
serverTimezone=UTC
以上代码是为了指定时区,加上这段代码后就不会报时区错误了。
useSSL=false
高版本的MySQL需指明是否进行SSL连接。