PyCharm控制台中文乱码根本原因是Windows cmd默认GBK编码与Python UTF-8输出不匹配,需统一终端编码(如!chcp 65001)、运行参数(-u或PYTHONIOENCODING=UTF-8)及字体设置。

PyCharm 运行代码时控制台显示乱码,根本原因不是 Python 本身出错,而是编码链路断在了「解释器输出 → 控制台渲染」这一环。Windows 下尤其常见,因为 cmd 默认用 GBK(代码页 936),而 Python 3 默认用 UTF-8,两者不匹配就直接变问号或方块。
控制台输出中文乱码:优先改终端编码
这是最常被忽略的环节——Python Console 或 Run 窗口底层调用的是系统终端,不是 PyCharm 自己的渲染引擎。
- Windows 用户:进
File → Settings → Tools → Python Console,在Starting script区域加一行:!chcp 65001(强制切换 cmd 到 UTF-8 模式) - Linux/macOS 用户:检查终端是否用了
zsh或bash的非 UTF-8 locale,运行locale命令,确保LANG和LC_ALL含UTF-8 - 如果加了
!chcp 65001还无效,重启 Python Console(右上角齿轮图标 →Restart console)
运行配置输出乱码:加 -u 参数或设环境变量
Run 按钮执行脚本时走的是独立进程,不继承 Python Console 设置,必须显式干预。
PyCharm 2026.2是 JetBrains PyCharm 的指定版本安装包,下载地址指向官方 Windows 安装包直链,可用于旧项目兼容、版本回退和环境测试。
- 进
Run → Edit Configurations→ 选中你的运行配置 → 在Interpreter options栏填:-u(强制 stdout/stderr 无缓冲且用 UTF-8) - 或在同一页的
Environment variables里加:PYTHONIOENCODING=UTF-8 - 注意:
-u对日志、子进程通信也有影响,但解决乱码最直接;PYTHONIOENCODING更通用,推荐两者都设
文件本身保存为 GBK?别硬切编码
有人看到乱码第一反应是把 Project Encoding 改成 GBK,这反而埋坑。
-
File → Settings → Editor → File Encodings中,Global Encoding和Project Encoding都应设为UTF-8(Python 3 标准) - 只在极少数遗留项目里,源文件确实是
GBK保存的,才勾选Transparent native-to-ascii conversion并把Default encoding for properties files设为GBK - 所有新文件开头加声明:
# coding: utf-8(放在第一或第二行)
字体不支持中文?界面和控制台要分开调
乱码有时是字形缺失,不是编码问题——比如控制台显示 □ 或空格,但复制出来文字是对的。
- 改控制台字体:进入
Settings → Editor → Color Scheme → Console Font,选一个真正含中文字形的字体,如JetBrains Mono(带 Nerd Fonts 补丁版)、Consolas(Windows)或Source Code Pro(macOS/Linux) - 改编辑器字体:进
Settings → Editor → Font,同样选支持中文的字体;Appearance里勾选Override default fonts by可统一 UI 字体 - 注意:PyCharm 内置 Terminal(不是系统终端)的字体设置在
Settings → Tools → Terminal → Font,别漏掉
真正卡住的点往往不在某一个设置,而是「终端编码 + 运行参数 + 字体」三者没对齐。尤其是 Windows 用户,!chcp 65001 和 -u 必须同时生效,缺一不可。

















