2026-5-2 更新:

已确认该乱码问题是由于一个 Rider 的 Bug 引起的。该 Bug 的表现为:在 Windows 平台上控制台默认编码中“系统默认”总是 UTF-8。

因此下面的都不用看了

在使用 Jetbrains Rider 调试 C# 程序时输出总是乱码,并且我的 Rider 设置内已经改成了 UTF8。

于是尝试修改输出的编码为 UTF8,解决问题。

Console.OutputEncoding = System.Text.Encoding.UTF8

值得注意的是,有些文章说可以直接设置为:

Console.OutputEncoding = System.Text.Encoding.Default;

但实际上该方案在 .NET Core 上等价于之前的