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配置,让构建前自动执行编码设置:
- 按
Ctrl+Shift+P打开命令面板,输入Tasks: Configure Task,选择你的Qt构建任务 - 修改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
相关产品推荐
相关产品推荐

