Visual Studio 如何修复nuget包管理器控制台中的代码页?

myzjeezk  于 2023-04-22  发布在  其他
关注(0)|答案(1)|浏览(134)

当我在nuget包管理器中执行dotnet命令时,输出显示在ANSI代码页而不是UTF8中。我在哪里可以找到Visual Studio设置来更改该控制台中的字符编码?

PM> [System.Console]::OutputEncoding

IsSingleByte      : True
BodyName          : koi8-r
EncodingName      : Кириллица (Windows)
HeaderName        : windows-1251
WebName           : windows-1251
WindowsCodePage   : 1251
IsBrowserDisplay  : True
IsBrowserSave     : True
IsMailNewsDisplay : True
IsMailNewsSave    : True
EncoderFallback   : System.Text.InternalEncoderBestFitFallback
DecoderFallback   : System.Text.InternalDecoderBestFitFallback
IsReadOnly        : True
CodePage          : 1251

PM> dotnet tool install -g try-convert
dotnet : Рнструмент "try-convert" уже установлен.
строка:1 знак:1
+ dotnet tool install -g try-convert
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (РнструмР...ановлен.:String) [], RemoteException
    + FullyQualifiedErrorId : NativeCommandError
 
PM> dotnet tool update -g try-convert
Рнструмент "try-convert" был переустановлен СЃ последней стабильной версией (версией "0.9.232202").

Visual Studio 2019和2022中存在此问题,已完全更新。操作系统:Windows 10与俄罗斯地区
我找到的唯一可行的解决方案是在系统语言环境设置中设置“UTF8实验功能”。然而,这个功能对我来说破坏了一些应用程序(比如在文件管理器中基于文件名突出显示)。

vfhzx4xs

vfhzx4xs1#

更新:

我想我知道你想要什么,你想要包管理器控制台输出俄语,但不影响整个VS工具,对吗?
运行以下命令:
$null = cmd /c ''
$Global:OutputEncoding = [Console]::InputEncoding = [Console]::OutputEncoding = [System.Text.UTF8Encoding]::new()
看看结果:

您可以看到PM控制台在我这边成功输出俄语。
顺便说一句,如果你想在PM控制台默认VS输出俄语,而VS Tool的语言是俄语,你可以在这里报告:
https://developercommunity.visualstudio.com/VisualStudio/suggest

原始答案:

我可以复制你的问题:

对于这个问题,只要在这个地方更改设置就应该可以了:

完成以上步骤后,重启VS,VS就可以在包管理器控制台中使用utf8了。

相关问题