解决MySQL在CMD中乱码需统一字符编码。首先查看字符集配置:执行SHOW VARIABLES LIKE 'character\_set\_%'; 和 SHOW VARIABLES LIKE 'collation\_%'; 确认client、connection、results编码。若不一致,可临时使用SET NAMES gbk; 设置为gbk编码以解决中文乱码,但会话结束后失效。永久方案是修改my.ini文件,在[mysqld]下添加character-set-server=utf8和collation-server=utf8_general_ci,在[client]与[mysql]下添加default-character-set=gbk,保存后重启MySQL服务。也可将CMD代码页改为UTF-8:运行chcp 65001,并设置字体为Consolas或Lucida Console以改善显示。核心是确保MySQL客户端与CMD编码一致。

MySQL在CMD命令行出现乱码,主要是因为字符编码不一致导致的。Windows系统的CMD默认使用GBK或GB2312编码,而MySQL通常使用UTF-8编码,两者不匹配就会显示乱码。解决这个问题需要统一字符集设置。
登录MySQL后,执行以下命令查看当前字符集配置:
SHOW VARIABLES LIKE 'character_set_%'; SHOW VARIABLES LIKE 'collation_%';
重点关注 character_set_client、character_set_connection、character_set_results 这三项,它们决定了客户端与服务器之间的字符传输编码。
如果只是临时使用,可以在进入MySQL后立即设置字符集为gbk(适用于中文Windows系统):
SET NAMES gbk;
这条命令相当于同时设置client、connection、results的字符集为gbk,能立刻解决CMD下的中文乱码问题。但该设置在会话结束时失效。
要一劳永逸地解决问题,需修改MySQL的配置文件my.ini(通常位于MySQL安装目录或C:\Windows\)。
在[mysqld]段落下添加或修改以下内容:
[mysqld] character-set-server=utf8 collation-server=utf8_general_ci
在[client]和[mysql]段落中添加:
[client] default-character-set=gbk [mysql] default-character-set=gbk
保存后重启MySQL服务,使配置生效。
也可以尝试将CMD的代码页改为UTF-8:
chcp 65001
然后启动MySQL客户端。注意:部分字体在UTF-8模式下可能显示异常,可右键CMD标题栏→属性→字体,选择“Consolas”或“Lucida Console”改善显示效果。
基本上就这些方法。关键是让MySQL客户端、连接、结果输出与CMD的编码保持一致,乱码问题就能解决。
以上就是mysql在cmd命令行出现乱码如何解决的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号