也許是因爲系統是非中文,也許是LSTC修改版的系統,在dotnet8下開發控制檯應用,出現了中文亂碼顯示問號的問題。
經查閱,使用nuget包並設置中文編碼,可解決。不知UTF-8編碼是否也能正常顯示中文,我沒試。
- 在項目內引用nuget包。
<ItemGroup>
<PackageReference Include="System.Text.Encoding.CodePages" Version="8.0.0" />
</ItemGroup>
- 在程序啓動時,設置編碼。
Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);
Console.InputEncoding = Encoding.GetEncoding("GB2312");
Console.OutputEncoding = Encoding.GetEncoding("GB2312");
// DoSomething();