vscode中print("中文")输出方块或问号,90%是python进程与windows终端编码未对齐:先用chcp和python -c "import sys; print(sys.stdout.encoding)"确认是否为cp936错配;在settings.json中添加"terminal.integrated.env.windows": {"pythonioencoding": "utf8"},重启终端;code runner需单独修改executor map;debug console需在launch.json中配置"env": {"pythonioencoding": "utf8"}或设"console": "integratedterminal";字体问题则需在终端属性中手动选择支持中文的字体如consolas。

VSCode里print("中文")输出方块或问号,90%不是文件编码错了,而是Python进程和Windows终端解码规则没对齐——改右下角“UTF-8”或files.encoding完全无效。
怎么确认是终端编码错配,不是文件问题
先看现象:
- 编辑器里中文显示正常,但终端
print()输出乱码 → 终端层问题 - 编辑器一打开就是□或
\u4f60\u597d→ 文件读取错位 - 终端里
echo 你好正常,但python -c "print('你好')"乱码 → Python进程没对齐终端编码
验证命令必须跑两行:
chcp
如果输出活动代码页: 936,说明终端当前用GBK;再跑:
python -c "import sys; print(sys.stdout.encoding)"
如果输出cp936(不是utf-8),就坐实了错配。
调用 Cutout.Pro 视觉处理 API 进行背景移除、人像抠图和照片增强,支持文件上传与图片 URL 输入。
settings.json 必加的环境变量
这是最稳、覆盖所有启动方式(终端直接运行、Code Runner、Tasks)的方案:
-
"terminal.integrated.env.windows": {"PYTHONIOENCODING": "utf8"}—— 注意大小写和拼写:utf8(全小写、无横线),UTF-8或utf-8在Windows下无效 - 加完必须关闭所有已打开的终端标签页(Ctrl + Shift + ` 全关掉),再新建一个才生效
- 别碰
terminal.integrated.encoding——它已被弃用,设了也无效
Code Runner插件要单独改执行命令
Code Runner默认不读terminal.integrated.env.windows,会绕过你的配置:
- 进插件设置 → 找到“Code Runner: Executor Map” → 编辑
python项 - 把默认值
"python -u $fileName"改成:"set PYTHONIOENCODING=utf8 && python -u $fileName"(Windows) - Linux/macOS则用
export PYTHONIOENCODING=utf8 && python -u $fileName
Debug Console(F5调试时的输出框)还是乱码?
Debug Console不继承终端环境变量,得单独配launch.json:
- 在项目根目录
.vscode/launch.json中,找到对应配置(如"name": "Python: Current File") - 加字段:
"env": {"PYTHONIOENCODING": "utf8"},注意逗号位置,JSON格式要合法 - 或者更彻底:加
"console": "integratedTerminal",让所有输出走终端(推荐) - 删掉
"console": "internalConsole"(旧写法,已过时)
字体显示方块、光标偏移、颜色日志丢失——八成是终端字体链没兜住中文,不是编码问题。Windows用户必须手动进终端右键 → 属性 → 字体,选Consolas或Cascadia Code,改完关掉终端重开。
Python免费学习笔记(深入):立即使用
在学习笔记中,你将探索 Python 的核心概念和高级技巧!










