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

VS Code中CodeRunner扩展输出UTF-8内容显示问号如何解决?

VSCode CodeRunner PowerShell输出乱码通用解决方案

核心问题排查

你当前的settings.json存在语法错误:[code-runner.executorMap]外层加了方括号,被识别为语言特定配置项,导致你写的PowerShell执行器规则完全未生效,这是之前配置不生效的首要原因。

全Windows版本通用解决方案(兼容Windows Server 2016、CMD命令调用)

直接替换你的settings.json为以下配置即可:

{
    "workbench.colorTheme": "Tomorrow Night Blue",
    "terminal.integrated.defaultProfile.windows": "PowerShell" ,
    "[powershell]":                           
    {
        "files.encoding": "utf8bom"
    },
    // 修正原配置的方括号语法错误,正确配置执行器映射
    "code-runner.executorMap": {
        // 执行前先切换控制台为UTF8代码页,再加载编码规则后运行脚本,兼容CMD类外部命令输出
        "powershell": "chcp 65001 >nul & pwsh -ExecutionPolicy ByPass -Command \"[Console]::OutputEncoding = [Text.UTF8Encoding]::UTF8;$PSDefaultParameterValues['*:Encoding'] = 'utf8';& '%f'\"",
        // 如果使用的是Windows PowerShell 5.x版本,将上方的pwsh替换为powershell即可
        // 批量脚本执行也同步配置UTF8编码
        "bat": "chcp 65001 >nul & cmd /c"
    },
    // 强制CodeRunner在集成终端运行,继承终端编码配置
    "code-runner.runInTerminal": true,
    "terminal.integrated.encoding": "utf8"
}

该方案无需修改系统全局设置,在执行代码前先将控制台代码页切换为UTF-8,同时预加载PowerShell编码规则,不管是PowerShell原生命令还是dsquery这类调用CMD的外部命令,输出都不会出现问号乱码,适配所有Windows版本。

PowerShell持久化配置方案(可选)

如果希望所有PowerShell会话默认使用UTF-8编码,无需每次运行脚本时单独加载配置,可以按以下操作设置:

  • 打开PowerShell,执行命令notepad $PROFILE打开用户配置文件,若提示文件不存在则选择新建
  • 将以下配置写入文件后保存:
[Console]::OutputEncoding = [Text.UTF8Encoding]::UTF8
$PSDefaultParameterValues['*:Encoding'] = 'utf8'
$PSDefaultParameterValues['Out-File:Encoding'] = 'utf8'
  • 重启VSCode后所有PowerShell会话都会默认加载该编码配置,进一步简化执行逻辑。

Win10 1809+系统级方案(仅适配高版本Windows)

如果你使用的是Win10 1809及以上版本/Win11,可以通过系统全局设置解决:进入「设置→时间和语言→语言→管理语言设置→更改系统区域设置」,勾选「Beta版:使用Unicode UTF-8提供全球语言支持」,重启系统后全局默认编码为UTF-8,无需单独配置VSCode。该方案不适用于Windows Server 2016。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 05:45:06