File.ReadAllText() заменяет русские символы на ?????, как исправить?
File.ReadAllText() заменяет русские символы на ?????, вне зависимости от кодировки. Если я ставлю что-то кроме Encoding.Default, то знаками вопроса он заменяет вообще весь текст
0a1a2a3a4a5, исторически, русскоязычный Windows, помимо юникода, использует 1251 кодировку. Но, в любом случае, вам бы для начала узнать, в какой кодировке ваш файл.
0a1a2a3a4a5 а вот хамить не надо, люди вам тут помочь пытаются по доброте своей, а вы, будучи не способным адекватно задать вопрос со всеми исходными данными, и даже не прочитав правила ресурса обвиняете людей и хамите. Ваш вопрос просто удалят и забанят за неадекватность. И будете со своими косяками с кодировкой сами разбираться.
VoidVolker, Я никому не хамил, и как я уже писал, кодировка файла UTF8, и в этой кодировке он не читается. Я это писал как и в самом вопросе, так и несколько раз в комментариях к ответам
кодировка файла UTF8, и в этой кодировке он не читается.
А почему у меня читается? Почему у других читается? И в UTF, и в 1251, и даже в дос кодировке - все отлично работает. Значит, что-то делаете неправильно. И вам уже сказали: сам файл, именно файл, не текст из него, а так же полный код в студию.
И что, вот прям так уж и нельзя выкинуть из файла все, за исключением нескольких слов на русском для примера? Кроме того, базу пользователей лучше хранить в БД, а не в файле.
Я проверял уже, консоль кириллицу выводит. Читал как и с нужной кодировкой, так и со всеми оставшимися. В JSON файле массив из объектов, некоторые свойства которых содержат в себе текст на русском. Если читаю с UTF8, то всё что на русском заменяется на ???, если с другими кодировками, то все символы заменяются на ? или палочки. Ну и плюс даже если бы проблема была связана с консолью, то десериализатор строку тоже не воспринимает