导入****.sql 文件,一切正常
结果一查询,发现乱码
原因:MySQL客户端和数据库的编码不一致会导致中文显示乱码
解决步骤:
1. 检查 MySQL 的字符集编码
在 MySQL 中,可以通过以下命令检查当前的字符集设置:
SHOW VARIABLES LIKE 'character_set_%';
主要关注 character_set_client
、character_set_connection
和 character_set_results
这三个选项,看看它们是否为 utf8
或 utf8mb4
。
2. 设置字符集为 UTF-8
如果这些字符集不是 utf8
或 utf8mb4
,在 MySQL 客户端中执行以下命令来设置编码:
SET NAMES utf8mb4;
这会告诉 MySQL 客户端使用 UTF-8 编码进行传输。
3. 修改数据库表的字符集
如果你的表或者字段的字符集设置不正确(比如不是 utf8mb4
),你可以修改表的字符集:
ALTER TABLE major CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
这会将 major
表中的所有字段转换为 utf8mb4
编码。
4. 设置 MySQL 配置文件
为了确保将来不会遇到类似问题,在 MySQL 的配置文件(my.cnf
或 my.ini
)中设置默认字符集为 utf8mb4
。在 [mysqld]
和 [client]
部分添加:
[mysqld]
character-set-server=utf8mb4
collation-server=utf8mb4_unicode_ci
[client]
default-character-set=utf8mb4
5. 重启 MySQL 服务
修改配置文件后,重启 MySQL 服务使更改生效。
验证:
设置好字符集后,重新查询自己的表,检查是否乱码问题已经解决: