在同一电脑的情况下,同样的JSON文件,json文件试过ASCII、UTF8两种编码格式保存,在.NET5使用StreamReader读取乱码,winFrom读取正常。
以下是.NET 5+C#+WebApi,用StreamReader
StreamReader streamReader = new StreamReader(path,Encoding.UTF8);//UTF8这里试过ASCII、Default,或者第二个参数不填
string jsonStr = streamReader.ReadToEnd();
Console.WriteLine(Encoding.Default.EncodingName);//输出 Unicode (UTF-8)
Console.WriteLine(streamReader.CurrentEncoding);//输出 system.Text.UTF8Encoding+UTF8EncodingSealed
Console.WriteLine(jsonStr);//输出 "ok": {"errcode": 0,"errmsg": "?????"},这里中文是乱码
以下是.NET Framework 4+C#+WinFrom,用StreamReader
StreamReader streamReader = new StreamReader(path,Encoding.UTF8);
string jsonStr = streamReader.ReadToEnd();
Console.WriteLine(Encoding.Default.EncodingName);//输出 简体中文(GB2312)
Console.WriteLine(streamReader.CurrentEncoding);//输出 System.Text.UTF8Encoding
Console.WriteLine(jsonStr);//输出 "ok": {"errcode": 0,"errmsg": "成功"},这里中文是正常
请问怎样才能让.NET5使用StreamReader读取正常。
//以下为json数据
{
"ok": {"errcode": 0,"errmsg": "成功"}
}