0

0

vscode运行结果出现乱码怎么办

聖光之護

聖光之護

发布时间:2026-03-12 11:26:32

|

574人浏览过

|

来源于php中文网

原创

VS Code 终端中文乱码主因是 Windows 默认代码页(如936)与 UTF-8 输出不匹配;应设 terminal.integrated.defaultProfile.windows 为 PowerShell,添加 PYTHONIOENCODING=utf-8 环境变量,并新建终端生效。

vscode运行结果出现乱码怎么办

终端输出中文显示为问号或方块

VS Code 内置终端(Terminal)默认编码不是 UTF-8,尤其在 Windows 上用 PowerShell 或 CMD 时,chcp 常是 936(GBK),而 Python/Node.js 等脚本默认按 UTF-8 输出,一来一回就乱码。

  • 先运行 chcp 看当前代码页:Windows 下若输出 活动代码页: 936,基本就是根源
  • 临时修复:在终端里手动执行 chcp 65001(切换到 UTF-8),但重启终端就失效
  • 永久方案:进 VS Code 设置,搜 terminal.integrated.defaultProfile.windows,把它设为 PowerShell(而非 CMD),再在设置里加:terminal.integrated.env.windows → 添加 {"PYTHONIOENCODING": "utf-8"}
  • 注意:某些旧版 PowerShell 启动慢或不读系统 locale,可改用 Windows Terminal 作为外部终端(设置 terminal.integrated.terminalFontFamily 不解决根本问题)

Python print() 在 VS Code 终端里显示字符

不是终端问题,是 Python 运行时没告诉自己“输出要走 UTF-8”,尤其在 Windows + CMD 组合下高频出现。

  • 检查 sys.stdout.encoding:写一行 import sys; print(sys.stdout.encoding),如果不是 utf-8,说明环境没对齐
  • 不推荐改 site.py 或全局环境变量——太重。更直接的是启动时加参数:python -X utf8 script.py(Python 3.7+ 支持)
  • 或者在代码开头强制指定(仅限调试):import io, sys; sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='utf-8')
  • 如果用了 subprocess 调外部命令,记得传 encoding='utf-8',否则 stdout 字节流解码仍可能崩

调试器(Debug)控制台输出乱码

这是独立于终端的另一套输出通道,底层用的是 VS Code 的 Debug Adapter Protocol,编码策略和终端不共享。

Sora
Sora

Sora是OpenAI发布的一种文生视频AI大模型,可以根据文本指令创建现实和富有想象力的场景。

下载
  • Python 扩展的 debug 控制台默认跟随系统 locale,Windows 中文版常 fallback 到 GBK
  • 打开 launch.json,在配置里加:"env": {"PYTHONIOENCODING": "utf-8"} —— 这个对调试器生效,比改系统变量安全
  • 如果用的是 ptvsd(老版本)或自定义 adapter,确认它启动参数含 --log-to-stderr --log-level DEBUG,乱码常伴随编码警告日志
  • 注意:调试器里 print()logging 行为一致,但 pprint 或变量悬停显示不受此影响

文件读写正常,但终端 print() 还是乱码

说明文件 I/O 编码没问题(比如你用 open(..., encoding='utf-8')),问题纯粹卡在“输出管道”上——即 stdout 的编码协商失败。

  • 别信 locale.getpreferredencoding() 返回值:它在 Windows 上常返回 cp936,但 Python 可能已用 UTF-8 初始化了 stream
  • 验证方法:在终端跑 python -c "import sys; print(sys.stdout.isatty(), sys.stdout.encoding)",如果 isattyFalse(比如被重定向),那编码逻辑会跳变
  • 终极兜底:所有关键输出前加 print(text.encode('utf-8').decode('utf-8', errors='replace')) —— 别真这么干,只是帮你定位是不是 decode 阶段出错
  • 真正该盯住的是 VS Code 的 terminal.integrated.profiles.windows 里每个 shell 的 args 是否带 -NoExit -Command "chcp 65001"

最常被忽略的点:改完设置后没关掉已有终端实例。VS Code 的终端进程不继承新设置,必须新建一个 Terminal 标签页才生效。

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

WorkBuddy
WorkBuddy

腾讯云推出的AI原生桌面智能体工作台

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
json数据格式
json数据格式

JSON是一种轻量级的数据交换格式。本专题为大家带来json数据格式相关文章,帮助大家解决问题。

456

2023.08.07

json是什么
json是什么

JSON是一种轻量级的数据交换格式,具有简洁、易读、跨平台和语言的特点,JSON数据是通过键值对的方式进行组织,其中键是字符串,值可以是字符串、数值、布尔值、数组、对象或者null,在Web开发、数据交换和配置文件等方面得到广泛应用。本专题为大家提供json相关的文章、下载、课程内容,供大家免费下载体验。

547

2023.08.23

jquery怎么操作json
jquery怎么操作json

操作的方法有:1、“$.parseJSON(jsonString)”2、“$.getJSON(url, data, success)”;3、“$.each(obj, callback)”;4、“$.ajax()”。更多jquery怎么操作json的详细内容,可以访问本专题下面的文章。

335

2023.10.13

go语言处理json数据方法
go语言处理json数据方法

本专题整合了go语言中处理json数据方法,阅读专题下面的文章了解更多详细内容。

82

2025.09.10

python中print函数的用法
python中print函数的用法

python中print函数的语法是“print(value1, value2, ..., sep=' ', end=' ', file=sys.stdout, flush=False)”。本专题为大家提供print相关的文章、下载、课程内容,供大家免费下载体验。

192

2023.09.27

python print用法与作用
python print用法与作用

本专题整合了python print的用法、作用、函数功能相关内容,阅读专题下面的文章了解更多详细教程。

19

2026.02.03

js正则表达式
js正则表达式

php中文网为大家提供各种js正则表达式语法大全以及各种js正则表达式使用的方法,还有更多js正则表达式的相关文章、相关下载、相关课程,供大家免费下载体验。

530

2023.06.20

js获取当前时间
js获取当前时间

JS全称JavaScript,是一种具有函数优先的轻量级,解释型或即时编译型的编程语言;它是一种属于网络的高级脚本语言,主要用于Web,常用来为网页添加各式各样的动态功能。js怎么获取当前时间呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

576

2023.07.28

C# ASP.NET Core微服务架构与API网关实践
C# ASP.NET Core微服务架构与API网关实践

本专题围绕 C# 在现代后端架构中的微服务实践展开,系统讲解基于 ASP.NET Core 构建可扩展服务体系的核心方法。内容涵盖服务拆分策略、RESTful API 设计、服务间通信、API 网关统一入口管理以及服务治理机制。通过真实项目案例,帮助开发者掌握构建高可用微服务系统的关键技术,提高系统的可扩展性与维护效率。

76

2026.03.11

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
go语言零基础开发内容管理系统
go语言零基础开发内容管理系统

共34课时 | 2.7万人学习

第二十三期_前端开发
第二十三期_前端开发

共98课时 | 8.3万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号