Skip to content

dotnet 6 命令行 cmd 设置输出英文解决中文乱码

Updated: at 08:22,Created: at 08:31

我遇到在部署 CI 服务器,执行 cmd 命令构建,输出的中文是乱码。我期望让 dotnet 命令行输出使用英文解决乱码问题。通过设置 dotnet 命令行的语言文化,即可解决此问题

给 dotnet.exe 进程设置以下环境变量即可

DOTNET_CLI_UI_LANGUAGE=en-US

如在 CMD 下,可以使用以下代码设置环境变量,如此设置的环境变量只影响当前的 cmd 控制台和在此控制台设置之后启动的应用

set DOTNET_CLI_UI_LANGUAGE=en-US
dotnet --info

可以看到 dotnet --info 输出的就是英文

反过来,如果期望让 dotnet 命令行输出中文,可以设置语言文化为中文

set DOTNET_CLI_UI_LANGUAGE=zh-CN

参考

Use UTF-8 Encoding by Default On Windows On Non English Languages by nagilson · Pull Request #29755 · dotnet/sdk

dotnet cli produces ?s in output · Issue #8833 · dotnet/sdk


知识共享许可协议

原文链接: http://blog.lindexi.com/post/dotnet-6-%E5%91%BD%E4%BB%A4%E8%A1%8C-cmd-%E8%AE%BE%E7%BD%AE%E8%BE%93%E5%87%BA%E8%8B%B1%E6%96%87%E8%A7%A3%E5%86%B3%E4%B8%AD%E6%96%87%E4%B9%B1%E7%A0%81

本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。 欢迎转载、使用、重新发布,但务必保留文章署名 林德熙 (包含链接: https://blog.lindexi.com ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。如有任何疑问,请与我 联系