我遇到在部署 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


本文会经常更新,请阅读原文: https://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.html ,以避免陈旧错误知识的误导,同时有更好的阅读体验。

如果你想持续阅读我的最新博客,请点击 RSS 订阅,推荐使用RSS Stalker订阅博客,或者收藏我的博客导航

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

微软最具价值专家


无盈利,不卖课,做纯粹的技术博客

以下是广告时间

推荐关注 Edi.Wang 的公众号

欢迎进入 Eleven 老师组建的 .NET 社区

以上广告全是友情推广,无盈利