MySQL设置时区和默认编码

摘要:学习spring boot时要在Windows本地安装MySQL5.7,配置好之后项目,启动之后提示需要设置时区,并且在使用过程中发现出现乱码,中文无法显示,出现上述问题的主要是MySQL5.7中没有设置时区和编码。

情况描述

学习spring boot时要在Windows本地安装MySQL5.7,配置好之后项目,启动之后提示需要设置时区,并且在使用过程中发现出现乱码,中文无法显示,出现上述问题的主要是MySQL5.7中没有设置时区和编码。


解决方案

1、在spring boot的配置文件application.properties​中设置MySQL的数据源url

spring.datasource.url=jdbc:mysql://localhost:3306/yunzhi_spring_boot?characterEncoding=utf-8&serverTimezone=GMT%2B8

解释:
characterEncoding为设置数据库编码,采用utf-8;
serverTimezone为设置时区,“GMT%2B8”即GMT+8,东八区北京时间;
有兴趣可以了解一下GMT和UTC的区别。
2、如果每次都这样设置,感觉好麻烦,直接修改MySQL的配置文件my.ini,设置两个参数:

default-time-zone=+08:00
character-set-server=utf8

然后保存,重启MySQL服务。
项目中的MySQL url就可以简化为:

spring.datasource.url=jdbc:mysql://localhost:3306/yunzhi_spring_boot

本文内容仅供个人学习、研究或参考使用,不构成任何形式的决策建议、专业指导或法律依据。未经授权,禁止任何单位或个人以商业售卖、虚假宣传、侵权传播等非学习研究目的使用本文内容。如需分享或转载,请保留原文来源信息,不得篡改、删减内容或侵犯相关权益。感谢您的理解与支持!

链接: https://shenqiku.cn/article/FLY_7789