C# читать иврит из текстового файла

Я написал текстовый файл на иврите. Когда я представляю содержимое файла на C#, я не вижу, что я написал — я понимаю, что он завязан на Unicode, но я в этом не очень разбираюсь. Помогите, кто-нибудь?

string mymail = File.ReadAllText(@"C:\mail\mail.txt");

        MessageBox.Show(mymail);

Это результат:

��� ����� ��� �� ��������� ������� ���� �� ������


person Maayan Cahani    schedule 22.09.2015    source источник
comment
Как вы создали mail.txt? Из блокнота? Убедитесь, что он был сохранен в кодировке Unicode, а не в ANSI.   -  person Dour High Arch    schedule 22.09.2015
comment
Большое тебе спасибо! это работает   -  person Maayan Cahani    schedule 22.09.2015


Ответы (2)


  1. Закройте файл и снова откройте его, убедитесь, что то, что вы набрали, действительно сохранилось в вашем файле. Использование приложения блокнота по умолчанию в Windows обычно по умолчанию использует ASCII, поэтому символы не будут правильно сохраняться на диске и, следовательно, не будут правильно извлекаться.
  2. Вам не хватает кодировки, вероятно, по умолчанию используется ASCII.

    string mymail = File.ReadAllText(@"C:\mail\mail.txt", System.Text.Encoding.UTF8); MessageBox.Show(mymail);

person Igor    schedule 22.09.2015

person    schedule
comment
Почему ОП должен попробовать это? Обычно считается хорошим тоном объяснять ваши предложения/ответы. Ответы только на код могут быть на удивление неинформативными, даже если они технически правильны. Хороший ответ всегда будет содержать объяснение того, что было сделано и почему это было сделано именно так, не только для OP, но и для будущих посетителей SO, которые могут найти этот вопрос и прочитать ваш ответ. - person Maximilian Ast; 29.08.2019