问题本质:
并不是 Qt、MSVC 或源码编码的问题,而是 VS Code 的 CMake Tools 在 Windows 下错误解码了 MSBuild 的输出日志,导致 UTF-8 内容被当成 GBK 显示,从而出现中文乱码。
错误场景:
在vscode上使用cmake+msvc编译c++ qt 项目时
问题描述
在vscode输出的编译数据中存在乱码现象
[main] 正在生成文件夹: c:/Users/xingy/Desktop/gongju/ukey/ukey/build [build] 正在启动生成
[proc] 正在执行命令: "C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\bin\cmake.exe" --build c:/Users/xingy/Desktop/gongju/ukey/ukey/build --config Release --target ALL_BUILD -j 6 --
[build] 閫傜敤浜� .NET Framework MSBuild 鐗堟湰 17.14.23+b0019275e
Qt 程序正常
编译成功
只有 VS Code 构建日志乱码
原因分析:
出现乱码的原因时cmake输出的数据时utf8格式,但是vscode内部的数据传输的时候接受到时将数据转换为gbk格式接收,导致编码出现问题
解决方案:
打开vscode的设置页面

在搜索中输出encoding

将Output Log Encoding
来自外部命令的输出的编码
中的auto改为utf8
1万+

被折叠的 条评论
为什么被折叠?



