问题描述:
show create table table_name;
查看注释会发现不管是表的comment
还是字段的comment
都是乱码
![](https://img.haomeiwen.com/i3432981/4e2e565fa4a73f82.png)
问题排查:
show variables like 'character_set_%';
查看数据库的编码,发现character_set_database
和character_set_server
都是latin1
编码
![](https://img.haomeiwen.com/i3432981/6aff52bfcbd59bc1.png)
变量名解释:
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
![](https://img.haomeiwen.com/i3432981/c5de39cb96d942ec.png)
![](https://img.haomeiwen.com/i3432981/1655535ca9b945d3.png)
Step 3. 再次执行show create table table_name;
查看
![](https://img.haomeiwen.com/i3432981/a37c7b38ffaecba8.png)
网友评论