答案是统一字符集为UTF-8。需检查并设置character_set_client、connection、results和server为utf8mb4,通过SET NAMES 'utf8mb4'临时生效,或在my.cnf/my.ini中配置[client]和[mysqld]相关参数永久生效,同时确保终端支持UTF-8编码,如Windows执行chcp 65001,Linux设置LANG=en_US.UTF-8等,最终实现全流程UTF-8编码一致。

MySQL命令行出现乱码,通常是因为字符集设置不一致导致的。要解决这个问题,关键是确保客户端、服务端和连接使用的字符集统一为支持中文的编码,比如 UTF-8。下面从几个方面来排查和修复。
登录MySQL后,执行以下命令查看各项字符集配置:
SHOW VARIABLES LIKE 'character_set_%'; SHOW VARIABLES LIKE 'collation_%';
重点关注以下几个变量:
如果这些不是 utf8 或 utf8mb4,就容易出现乱码。
在当前会话中运行以下命令,强制使用 UTF-8 编码:
SET NAMES 'utf8mb4';
这条命令等价于同时设置 client、connection 和 results 的字符集。执行后再查询数据,乱码问题通常会立即缓解。
编辑 MySQL 的配置文件(位置因系统而异):
在文件中添加或修改以下内容:
[client] default-character-set = utf8mb4 [mysqld] character-set-server = utf8mb4 collation-server = utf8mb4_unicode_ci skip-character-set-client-handshake
保存后重启 MySQL 服务:
即使 MySQL 设置正确,如果命令行终端本身不支持 UTF-8,仍然会显示乱码。
基本上就这些。只要保证客户端、服务端、连接和终端都使用统一的 UTF-8 编码,MySQL 命令行乱码问题就能彻底解决。
以上就是mysql命令行乱码如何解决的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号