Python Rich在Windows命令提示符中的编码显示异常问题求助
解决Windows命令提示符中Unicode字符显示为带框问号的问题
问题原因
Windows命令提示符(CMD)默认使用的代码页(通常为GBK/GB2312)和系统字体不支持▰、✓这类Unicode字符,导致显示异常。
具体解决方法
修改控制台代码页为UTF-8
- 手动操作:打开CMD后先执行命令:
chcp 65001,再运行Python脚本。 - 代码内自动设置:在脚本开头添加以下代码,强制切换编码(避免显示切换提示):
import sys import os if sys.platform == "win32": os.system("chcp 65001 > nul")- 手动操作:打开CMD后先执行命令:
更换CMD支持Unicode的字体
右键CMD窗口标题栏 → 选择「属性」→ 切换到「字体」标签页,选择Consolas、Segoe UI Symbol这类支持Unicode字符的字体,确认后重启CMD再运行脚本。适配Rich库(若使用该库)
如果你用的是Rich库的Console类,可尝试以下操作:- 初始化Console时指定UTF-8编码:
from rich.console import Console console = Console(encoding="utf-8") with console.status("Processing...", spinner='aesthetic') as status: console.print(" ✓")- 更新到最新版Rich库,确保Windows控制台适配逻辑为最新:
pip install --upgrade rich
内容的提问来源于stack exchange,提问作者CodeCannibal
相关产品推荐
相关产品推荐

