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

VS Code指定OUTPUT窗口编码解决编译注释乱码问题

VS Code Qt6.9+MinGW64构建Output窗口注释乱码解决办法

关于[Console]::OutputEncoding = [System.Text.Encoding]::UTF8的放置位置

这条PowerShell命令用来修正控制台输出编码,有两种使用方式:

临时生效(单次会话)

  • 打开VS Code下方的Terminal面板(不是Output窗口)
  • 切换到PowerShell环境,直接输入该命令回车
  • 重新执行构建操作,Output窗口的注释即可正常显示
    注:重启VS Code后需重新执行该命令

永久生效(自动应用到每次构建)

修改VS Code的tasks.json配置,让构建前自动执行编码设置:

  1. 按Ctrl+Shift+P打开命令面板,输入Tasks: Configure Task,选择你的Qt构建任务
  2. 修改tasks.json内容,将构建命令通过PowerShell包裹,先执行编码设置再调用g++:
{
    "version": "2.0.0",
    "tasks": [
        {
            "type": "cppbuild",
            "label": "C/C++: g++.exe build active file",
            "command": "powershell",
            "args": [
                "-Command",
                "[Console]::OutputEncoding = [System.Text.Encoding]::UTF8; g++",
                "${file}",
                "-o",
                "${fileDirname}\\${fileBasenameNoExtension}.exe",
                // 这里添加你的Qt头文件、库路径及链接参数
                "-I", "C:/Qt/6.9.0/mingw_64/include",
                "-L", "C:/Qt/6.9.0/mingw_64/lib",
                "-lQt6Core", "-lQt6Gui", "-lQt6Widgets"
            ],
            "options": {"cwd": "${fileDirname}"},
            "problemMatcher": ["$gcc"],
            "group": {"kind": "build", "isDefault": true},
            "detail": "编译器: C:\\Qt\\6.9.0\\mingw_64\\bin\\g++.exe"
        }
    ]
}

额外优化:统一编译编码

在tasks.json的args中添加-finput-charset=UTF-8 -fexec-charset=UTF-8,确保g++读取UTF-8无BOM源码时不出现编码转换错误,进一步避免乱码。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 00:57:39