在localhost上想搭一个自己的数据库,发现insert中文内容时会发生乱码,看了下sql本身没有写错,猜测是字符集设置问题,于是在mysql命令行下用 mysql>show variables like "%char%"”; 发现database和server都是默认latin1,手动set貌似在重新登录后就失效不能持久化。于是修改my.cnf配置文件,由于osx默认是不用my.cnf全部都是用默认值,不过好在mysql安装目录support-files(应该叫这个)下有示例,于是sudo cp my-default.cnf /etc/my.cnf。vim修改/etc/my.cnf,分别在[client],[mysqld],[mysql]字段里添加default-character-set=utf8。注意[mysqld]字段与[mysql]字段是有区别的。这点在网上没人反馈过。
然后重启mysql服务器,重新show variables like "%char%"; 发现所有设置均改为utf8,insert 中文值也可以成功。