Чтение/вывод C# UTF8

Я пытаюсь сделать что-то, что, по моему мнению, должно быть достаточно простым, но я уже потратил на это слишком много времени и испробовал несколько различных подходов, которые исследовал, но безрезультатно.

По сути, у меня есть огромный список имен, в которых есть «специальные» символы из кодировки UTF8.

Моя конечная цель — прочитать каждое имя, а затем сделать HTTP-запрос, используя это имя в URL-адресе в качестве переменной GET.

Моей первой целью было прочитать одно имя из файла и привести его к стандарту, чтобы подтвердить, что я могу правильно читать и писать UTF8, прежде чем создавать строки и выполнять все HTTP-запросы.

Созданный мной файл test1.txt содержал только следующее содержимое:

Öwnägé

Затем я использовал этот код C# для чтения файла. Я установил кодировку StreamReader и Console.OutputEncoding на UTF8.

static void Main(string[] args)
{
    Console.OutputEncoding = System.Text.Encoding.UTF8;

    using (StreamReader reader = new StreamReader("test1.txt",System.Text.Encoding.UTF8))
    {
        string line;

        while ((line = reader.ReadLine()) != null)
        {
            Console.WriteLine(line);
        }

    }

    Console.ReadLine();
}

К моему большому удивлению, я получаю такой вывод:

enter image description here

Ожидаемый результат точно такой же, как и исходное содержимое файла.

Как я могу быть уверен, что строки, которые я собираюсь построить для выполнения HTTP-запросов, будут правильными, если я не могу выполнить даже простую задачу чтения/записи строк UTF8?

6
задан Yuck 6 March 2012 в 15:25
поделиться