Kleopatra
23-07-2007, 20:45
Банальная ситуация, как сделать чтоб мои проги в MS работало без кракозябликов в консоли
XPEHOMETP
23-07-2007, 22:42
Windows используют ANSI-кодировку (если отвлечься от Unicode), но в консоли все выводится в OEM-кодировке (DOS-овской). Вот так сделано, и поменять ничего нельзя. Поэтому решения могут быть такие:
1. Писать свои программы в редакторе, котрый хорошо понимает русскую ДОСовскую кодировку. Например, BRED (блокнот редактора), KoEdit. А потом это открыть в своей среде разработки и компилировать. Или перенести туда некоторые фрагментики с кириллицей через буфер обмена.
2. Сохранять русский вывод в консоль в виде текстовых переменных и прогнать их через функцию WinAPI CharToOem (http://rsdn.ru/article/qna/ui/concp.xml ).
3. Искать библиотеки сторонних фирм, которые позволяют перехватывать консольный вывод и выводить его в стандартное виндовское окно - уже в кодировке ANSI. Такие вещи, например, делаются в Compaq Visual Fortran.
4. Не пользоваться консолью, делать изначально виндовское приложение и нормально выводить все в ANSI
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.