1. Project.json 添加程序集System.Text.Encoding.CodePages的 引用
"dependencies": { ... "System.ComponentModel.TypeConverter": "4.1.0" }
2. 第一行增加
Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);
完整如下:
1 public class Program 2 { 3 public static void Main(string[] args) 4 { 5 Encoding.RegisterProvider(CodePagesEncodingProvider.Instance); // 尝试将这一行放入下面6,7两行之间试试 6 Console.WriteLine("中文怎么能是乱码呢?"); 7 Console.WriteLine("中文怎么能是乱码呢?"); 8 } 9 }
3. 最后是关于.net core 不支持System.Text.Encoding.Default的问题
可使用System.Text.Encoding.GetEncoding(0)替代
注 Windows中的 System.Text.Encoding.Default 所采用的字符集取决于注册表 hkey_current_user/console/codepage的配置
注:为什么.net core 中不在支持System.Text.Encoding.Default? System.Text.Encoding.Default的实现依赖win32 Api
时间: 2024-11-01 08:39:53