打断点发现后台接收到的中文数据是正确的,但是写入到数据库表中后变成了???,网上查询一番发现问题在于以下三条的配置:
collation_connection;
collation_database;
collation_server;```
网上的解决方案都是修改my.cnf配置文件或者拷贝my-default.cnf到/etc目录下并改名为my.cnf,但是我的Mac中并没有这两个文件。
解决方案:在控制台中输入
$ cd /etc
$ sudo vim my.cnf
按下i键进行添加:
[client]
default-character-set=utf8
[mysqld]
character-set-server=utf8
collation-server=utf8_general_ci
按下`esc`键,再同时按下`shift+:`输入`wq`,按下回车即保存退出。
重启Mysql,执行语句查看配置是否更改:
`SHOW VARIABLES LIKE '%colla%'`
下图为我的查询结果
![](http://upload-images.jianshu.io/upload_images/5812240-d9a80669488b4a5e.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
再次往数据库中写入数据,问题解决!
![](http://upload-images.jianshu.io/upload_images/5812240-b9890c85116aa58d.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)