您的位置:首页 > 数据库 > MySQL

IDEA操作MySQL数据库乱码问题解决方案

2017-07-05 00:13 232 查看
博主今天开始写自己的个人网站的api接口时,遭遇MySQL数据库乱码问题,以前用的是Windows系统,现在改用Mac,所以花费了不少时间,这里仅对修改进行了一些记录

1、Spring Boot项目是否全部用UTF-8

通过输出可知,Spring Boot 已经默认为UTF-8

2、链接数据库是否指定了编码

以下是配置文件

spring:
datasource:
driver-class-name: com.mysql.jdbc.Driver
url: jdbc:mysql://localhost:3306/myweb?useUnicode=true&characterEncoding=UTF-8


通过配置文件可知,没有问题

3、MySQL建库,建表是否制定了编码

为了解决这个问题,我用了2个数据了工具DataGrip和Navicat,得出的结论是,也没有问题

4、那是什么问题呢?

通过大量搜索,通过

show variables like '%char%';
OR
show variables like 'character%';


可以查看到一些编码问题


5、问题找到了,怎么修改呢

网上有我很多资料,大多数说

sudo cp /usr/local/mysql/support-files/my-medium.cnf /etc/my.cnf


意思是说,把my-medium.cnf拷贝一份,重命名为my.cnf

可是我的MySQL是最新的版本,并没有my-medium.cnf

6、怎么办呢

继续搜索,之后的解决方案是,自己创建一个my.cnf

7、填哪些内容呢?

[mysqld]
character-set-server=utf8

[client]
default-character-set=utf8

[mysql]
default-character-set=utf8


由于博主是Mac,这里权限是个问题,后面还会说

8、修改完之后,重启一下MySQL,再来测试运行一下,程序,发现还是不行,但此时终端会有一个小提示:

mysql: [Warning] World-writable config file '/etc/my.cnf' is ignored.


大意是说,/etc/my.cnf被忽略

9、什么意思?

搜索一下,大概知道了,Mac如果是全局的话,为了安全,被忽略

10、怎么办?

将/etc/my.cnf的权限更改为644,即可。

重启MySQL,再次测试,发现不乱码了!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  数据库 mysql idea api mac