Mac 修改MySQL 编码为utf8mb4

在看廖雪峰老师Python教程的时候就折腾过这个问题,但那时候没有搞定,今天要把中文存入MySQL,发现是乱码,只有改编码才能解决问题。今天运气好,没折腾多久就找到解决方法了。

找到mysql配置文件my.cnf

在任意文件夹页面按住command + shift + g 调出前往文件夹功能,然后输入 /usr/local/mysql/ (廖老师的教程是在/etc/mysql/或/etc/目录,但我的电脑上找不到。)

有人的my.cnf文件就在这个目录,或者在support-files目录下,名字可能叫my-default.cnf,也有可能是其他名字,版本不一样,名字也不一样,这里有点乱,找到把名字改成my.cnf,然后复制到 /usr/local/mysql/ 目录下

修改my.cnf

my.cnf一般在etc/mysql/my.cnf位置。找到后请在以下三部分里添加如下内容:
[client]
default-character-set = utf8mb4
[mysql]
default-character-set = utf8mb4
[mysqld]
character-set-client-handshake = FALSE
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
init_connect='SET NAMES utf8mb4'

重启数据库,通过mysql命令行检查编码:
mysql> show variables like '%char%';

如果都是utf8mb4或utf8,那就是修改成功了

注:MySQL的版本≥5.5.3,才可以把编码设置为utf8mb4,utf8mb4
和utf8完全兼容,但可以显示emoji字符。

已经创建好的数据库和表也可以改成utf8mb4

修改数据库 ALTER DATABASE database_name CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;

修改表 ALTER TABLE table_name CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;

参考文章:

更改MySQL数据库的编码为utf8mb4

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容