当我在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实验功能”。然而,这个功能对我来说破坏了一些应用程序(比如在文件管理器中基于文件名突出显示)。
1条答案
按热度按时间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了。