@EvgMul

Как KeyPressEventArgs заставить сохранять кириллические символы корректно на C#?

Суть с следующем.
Есть код, который отслеживает нажатие клавиши и сохраняет то, какая клавиша была нажата в файл. Если установлена английская раскладка, то символы отображаются корректно, но при кириллической раскладке записываются кракозябры.
Я профан с C#, поэтому говорить о том, что я совсем не знаю мат. части и не понимаю, как все устроено не стоит.
Прилагаю код.
public void test(object sender, KeyPressEventArgs e)
{
FileInfo file = new FileInfo("keypress.txt");
StreamWriter write_text;
            write_text = file.AppendText();
            write_text.WriteLine(e.KeyChar);
            write_text.Close();
}

Заранее благодарен всем отозвавшимся.
  • Вопрос задан
  • 162 просмотра
Пригласить эксперта
Ответы на вопрос 1
arxont
@arxont
C# программист
У меня подозрение, что вы просматриваете ваш созданный файл через просмоторщик, который не понимает UTF. Поэтому и вылазят кразозябры.
Если вам надо не в UTF, а к примеру в стандартной раскладке windows, то указывайте её через Encoding. К примеру так -
private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
{
   TextWriter tw = new StreamWriter("keypress.txt", true, Encoding.GetEncoding(1251));
    tw.WriteLine(e.KeyChar);
    tw.Close();
}
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы