Як відобразити українську букву "і" в консолі.
Коли я тільки починав програмувати я зіткнувся з проблемою відображення Української букви "і" в консолі. Як і більшість сучасних людей я одразу ж кинувся шукати рішення цієї проблеми в Інтернеті і побачив, що дана проблема турбує дуже багатьох, в той час як вирішення відоме небагатьом. В процесі пошуку я знаходив такі рішення як: заміняти Українську букву "і" на англійську методом автозаміни і просто зміною розкладки клавіатури, писати замість букви "і" цифру "1" або "!", а то і зовсім відмовитися від української мови і перейти на російську мову. Звичайно це не влаштовувало мене ніяким чином і я продовжував пошуки.Рішення знайшлося в кодуванні тексту в самій консолі. Стандарт кодування консолі Windows використовує формат 866 і як виявилося в цьому кодуванні немає української букви "і" хоч букви "ї" та "є" присутні (припускаю що це могло бути зроблено по причині того, що англійська буква "і" візуально абсолютно ідентична українській і розробники або забули реалізувати прив'язку зображення до коду букви, або вважали що для українців не стане проблемою постійно змінювати розкладку клавіатури на англійську при необхідності написати букву "і"). На щастя в кодуванні 1251 це виправили і переведення тексту консолі в це кодування гарантує вирішення цієї проблеми. Це можливо реалізувати всього однією стрічкою коду:
Console.OutputEncoding = System.Text.Encoding.GetEncoding (1251);
До зміни кодування:
using System;
class Example {
static void Main() {
Console.WriteLine ("Правильне відображення букви і в консолі");
}
}
Після зміни кодування:
using System;
class Example {
static void Main() {
Console.OutputEncoding = System.Text.Encoding.GetEncoding (1251);
Console.WriteLine ("Правильне відображення букви і в консолі");
}
}
Дякую за вашу увагу!!! Висловлюйте свою думку щодо даної статті в коментарях, задавайте запитання, діліться ідеями. Також дивіться уроки в YouTube і одразу ж підписуйтесь на канал. Діліться моїм блогом зі своїми друзями. Підписуйтесь на мій Твіттер, щоб не пропустити нові уроки та статті. А головне всім удачі.
++
ВідповістиВидалитида какая разніца нах...
ВідповістиВидалитиSystem.NotSupportedException: 'No data is available for encoding 1251. For information on defining a custom encoding, see the documentation for the Encoding.RegisterProvider method.'
Console.OutputEncoding = System.Text.Encoding.Unicode;
ВідповістиВидалититак працює норм
Не працює ніяк
ВідповістиВидалитиSystem.Text.Encoding.Unicode; працює
ВідповістиВидалити