Вместо русских букв знак вопроса. Как исправить?
var test = JsonConvert.DeserializeObject<UserMatch>(File.ReadAllText("../../../test.json"));
foreach (var i in test?.info?.participants) {
if (i.summonerName == command.Data.Options.First().Value.ToString())
{
if (i.win == false)
{
Console.WriteLine("Поражение");
}
else if (i.win == true)
{
Console.WriteLine("Победа");
}
}
}
Получаю значит JSON файл и вместо русских букв внутри него ???? из-за этого проверка через if не понимает (например никнейм призывателя "привет", а сравнивает он с ?????)
Ответы (1 шт):
Автор решения: Artiom
→ Ссылка
Надо указать кодировку:
var test = JsonConvert.DeserializeObject<UserMatch>(File.ReadAllText("../../../test.json", Encoding.GetEncoding(1251)));
Либо же поменять кодировку файла на utf-8
Больше о кодировках, можно узнать в документации: https://learn.microsoft.com/ru-ru/dotnet/api/system.text.encodinginfo.getencoding?view=net-7.0