问题描述:
show create table table_name;
查看注释会发现不管是表的comment
还是字段的comment
都是乱码
问题排查:
show variables like 'character_set_%';
查看数据库的编码,发现character_set_database
和character_set_server
都是latin1
编码
变量名解释:
character_set_client:客户端字符集
character_set_connection:链接字符集
character_set_database:数据库字符集
character_set_filesystem:文件系统
character_set_results:结果字符集
character_set_server:服务器字符集
character_set_system:mysql系统字符集
解决方法:
方法一:
将编码修改为utf8
,直接set character_set_server=utf8;
退出会话后会失效,不推荐
方法二:
Step 1. 修改配置文件,在Mac上默认是没有配置文件的,所以执行vi my.cnf
添加如下内容,/etc
目录下是不能随意编辑文件的,所以要先编辑再移动到该目录下sudo mv my.cnf /etc/
[client]
default-character-set=utf8
[mysqld]
character-set-server=utf8
Step 2. 进入系统偏好设置重启MySQL
Step 3. 再次执行show create table table_name;
查看