Как читать специальные символы, такие как é, â и другие в С#

Я не могу прочитать эти специальные символы Я пробовал вот так

Первый способ #

string xmlFile = File.ReadAllText(fileName);

Второй способ #

FileStream fs = new FileStream(fileName, FileMode.Open, FileAccess.Read);
StreamReader r = new StreamReader(fs);
string s = r.ReadToEnd();

Но оба утверждения не понимают этих специальных символов. Как читать?

UPDATE ###

Я также пробую все кодирование с помощью

string xmlFile = File.ReadAllText(fileName, Encoding. );

но все же не понимают эти специальные символы.

Ответы

Ответ 1

Нет такой вещи, как "специальный символ". Скорее всего, это расширенные символы ascii из набора latin1 (iso-8859-1). Вы можете прочитать их, явно передав кодировку считывателю потока (иначе он будет считать UTF8)

using (StreamReader r = new StreamReader(fileName, Encoding.GetEncoding("iso-8859-1")))
    r.ReadToEnd();

Ответ 2

StreamReader sr = new StreamReader(stream, Encoding.UTF8)