You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

VS Code Python原生REPL窗口字符编码输出错误问题求助

VS Code中Python原生REPL输出UTF-8字符乱码的修复方案

问题现象

VS Code文件已设为UTF-8默认渲染,执行以下代码时:

print('带重音的字母: á, é, í, ó, ú, ü, ñ')
  • 通过Shift+Enter调用Python原生REPL窗口,输出出现编码错误:
    带重音的字母: á, é, í, ó, ú, ü, ñ
    
  • 但使用交互式窗口(Jupyter)或终端直接运行,输出显示正常。

原因分析

Python原生REPL在VS Code中启动时,未正确继承终端的UTF-8编码配置,导致输出阶段对UTF-8字符进行了错误转码。

解决方法

方法1:强制Python以UTF-8模式启动

修改VS Code的Python启动参数,让REPL强制使用UTF-8编码:

  1. 打开VS Code设置(快捷键Ctrl+,或Cmd+,)
  2. 搜索python.terminal.launchArgs
  3. 添加如下参数:
    ["-X", "utf8"]
    
    该参数会强制Python解释器全程以UTF-8模式运行,确保输出编码匹配。

方法2:配置终端默认编码(Windows专属)

如果是Windows系统,可直接将终端默认编码设为UTF-8:

  1. 打开VS Code终端,点击右上角下拉菜单,选择选择默认配置文件
  2. 选中常用的终端(PowerShell或命令提示符)
  3. 在settings.json中添加对应配置:
    • PowerShell配置:
      "terminal.integrated.profiles.windows": {
        "PowerShell": {
          "source": "PowerShell",
          "args": ["-NoExit", "/c", "chcp 65001"]
        }
      },
      "terminal.integrated.defaultProfile.windows": "PowerShell"
      
    • 命令提示符配置:
      "terminal.integrated.profiles.windows": {
        "Command Prompt": {
          "path": ["${env:windir}\\System32\\cmd.exe"],
          "args": ["/k", "chcp 65001"]
        }
      },
      "terminal.integrated.defaultProfile.windows": "Command Prompt"
      
    65001是UTF-8的代码页,设置后终端和REPL都会默认使用UTF-8编码。

方法3:临时修改REPL编码(单次生效)

若不想修改全局设置,可在REPL中手动设置输出编码:

import sys
sys.stdout.reconfigure(encoding='utf-8')

执行后再运行print语句即可正常显示,但每次重启REPL都需要重新执行。


内容的提问来源于stack exchange,提问作者Ash

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.16 04:01:04