Пишу программу. Консольную. Она должна уметь работать с разными кодовыми страницами (KOI8/utf8/866 - может еще что-то). Как это сделать. Что испробовано: SetConsoleCP (SetConsoleOutputCP) - не помогло. Ничего не изменилось. Говорят что нужно еще поставить шрифт Lucida Console - но мне это не подходит - моя программа должна работать с любым шрифтом CharToOem/CharToOemBuff - переводит в стандартную кодировку (utf8). Оно конечно неплохо. Но остальные кодировки не поддерживает. Собственно вот. Что посоветуете?
blueboar Считай что кодовая страница консоли 1251. Пишешь/ищешь конверторы koi8r<->1251<->866. Перед выводом строки, если ее кодировка отлична от 1251, конвертируешь в 1251.
Ну во-первых, она не у всех 1251, только у Русских, как я понимаю. А если я ее в италию скажем отдам или во францию? А во-вторых, вы уверены, что во всех кодировках все 256 символов одни и те же, только различаются порядком?
blueboar Один ведь слышал про такую вещь как Юникод? Лайк, одна кодировка, никаких кодовых страниц, ага?
Я не против конвертеров. Просто объясните мне 1) Что делать если не конвертируется однозначно. В одной кодировке скажем есть символ а в другой такого нету 2) В какую кодировку кодировать? Есть какая-то страндартная, одинаковая во всем мире кодировка по умолчанию? 3) Насчет юникода - а юникод в консоли есть? То есть я могу иероглифами рисовать в консоли?
Гм. Кану не выводит. Даже с использованием Lucida Console. Юникод. // Почто обе запятых удалили? Мы только одну просили zap'нуть. Ну да пусть. Лол.