[求助] Windows vscode Cmake 编译时插件输出乱码

33 天前
 proxytoworld

我家里的电脑使用 cmake 编译 dll 时输出乱码如下

[main] 正在生成文件夹: c/build testdll
[build] 正在启动生成
[proc] 执行命令: "C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\bin\cmake.exe" --build c/build --config Release --target testdll -j 26 --
[build] 閫傜敤浜� .NET Framework MSBuild 鐗堟湰 17.11.9+a69bbaaf5
[build] 
[build]   testdll.vcxproj -> \c\build\Release\testdll.dll
[driver] 生成完毕: 00:00:00.365
[build] 生成已完成,退出代码为 0

已在C:\Users\username\Documents\PowerShell\Microsoft.PowerShell_profile.ps1添加了 chcp 切换编码

chcp 65001 | Out-Null

已在 vscode settings.json 添加启动命令,并且有效

    "terminal.integrated.profiles.windows": {
        "PowerShell": {
            "source": "PowerShell",
            "icon": "terminal-powershell",
            "args": [
                "-NoExit",
                "/c",
                "chcp 65001",
            ],
        },
        "Command Prompt": {
            "path": [
                "${env:windir}\\Sysnative\\cmd.exe",
                "${env:windir}\\System32\\cmd.exe"
            ],
            "args": [],
            "icon": "terminal-cmd"
        },
        "Git Bash": {
            "source": "Git Bash"
        }
    },
    
Active code page: 65001
\c :: git(master)                                                                                                                                                                                                                                                                                                                              00:07:35  
➜ chcp
活动代码页: 65001

但我另外一台电脑是正常的,

[main] 正在生成文件夹: c/build hello
[build] 正在启动生成
[proc] 执行命令: "\cmake.exe" --build c/build --config Debug --target hello -j 22 --
[build] 适用于 .NET Framework MSBuild 版本 17.9.8+b34f75857
[build] 
[build]   1>Checking Build System
[build]   Building Custom Rule c/CMakeLists.txt
[build]   helloworld.c
[build]   hello.vcxproj -> c\build\Debug\hello.exe
[driver] 生成完毕: 00:00:02.853
[build] 生成已完成,退出代码为 0
936 次点击
所在节点    问与答
3 条回复
proxytoworld
33 天前
已解决:运行 intl.cpl-》管理-》更改系统区域设置,启用 65001 支持就行了
zhouyin
31 天前
win11 intl.cpl-》管理-》更改系统区域设置 没有 启用 65001 选项
你的什么系统
proxytoworld
31 天前
@zhouyin win10 ,选项是:使用 Unicode utf-8 提供全球语言支持

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1077461

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX