在linux 下 mysql 中文出现 ??? 解决方案

后端 / 2020-06-18

问题

在windows下mysql 默认编码方式为GBK而 linux系统 默认编码方式为 UTF-8 所以会出现中文变 ??? 问题.

查看编码配置 登录你的 mysql shell(我这里 win 充数/手动狗头)

SHOW VARIABLES LIKE '%char%';
+--------------------------+---------------------------------------------------------+
| Variable_name            | Value                                                   |
+--------------------------+---------------------------------------------------------+
| character_set_client     | gbk                                                     |
| character_set_connection | gbk                                                     |
| character_set_database   | utf8mb4                                                 |
| character_set_filesystem | binary                                                  |
| character_set_results    | gbk                                                     |
| character_set_server     | utf8mb4                                                 |
| character_set_system     | utf8                                                    |
| character_sets_dir       | C:\Program Files\MySQL\MySQL Server 8.0\share\charsets\ |
+--------------------------+---------------------------------------------------------+

你会发现 这里不是 utf-8 (这里引用别人图片)

解决方案

1. 找到配置文件

cd /etc/mysql
sudo vim my.cnf

2. 添加 utf8 编码

[mysqld]
	character_set_server=utf8

3. 重启服务

sudo service mysql stop
sudo service mysql status
sudo service mysql start

然后我们再次刷新发现 正常

Nmg6wq.png