|
|
|
| Когда ввожу например:
cout << "\n Two chislo: ";
|
То выводится нормальный транслит :)
А если ввожу:
cout << "\n Второе число: ";
|
То ввыводится, что-то страшное... постаршнее транслита и русских букв, какие-то палочки и прочее.. | |
|
|
|
|
|
|
|
для: DEM
(27.12.2006 в 11:51)
| | там если мне не изменяет память вывод в ОЕМ... где то был у меня конвертер...поищу - выложу... ну а вобще он идет с поставке Borland C++ 5.02 | |
|
|
|
|
|
|
|
для: DEM
(27.12.2006 в 11:51)
| | Командная строка имеет по умолчанию кодировку cp866 (DOS), а текст у вас набран скорее всего в кодировке cp1251 (Windows). Поэтому нужно менять кодировку, либо командной строки
либо русского текста в программе. | |
|
|
|
|
|
|
|
для: cheops
(27.12.2006 в 12:10)
| | Вот я пользуюсь Borland C++ 5.02, но когда ввожу русские буквы, текст выделяется красным и пишутся какие-то иероглифы, при запуске тоже.... как поменять кодировку? | |
|
|
|
|
3.7 Кб |
|
|
для: cheops
(27.12.2006 в 12:10)
| | Не помогает. | |
|
|
|
|
|
|
|
для: Саня
(13.01.2007 в 23:38)
| | В свойствах окна выберите шрифт Lucida Console вместо точечных шрифтов. | |
|
|
|
|
|
|
|
для: cheops
(13.01.2007 в 23:44)
| | О, да, сработало. Спасибо. | |
|
|
|
|
|
|
|
для: Саня
(13.01.2007 в 23:47)
| | Я создал консольное приложение в С++ Builder. Код
int main(int NumberofArgs, char*pszArgs[])
{
cout << "Привет, Мир!";
}
|
выводится крякозябрами. Почитал тему и возникли следующие вопросы:
1) Что такое "вывод в OEM"?
2) "там если мне не изменяет память вывод в ОЕМ... где то был у меня конвертер" - этот конвертер будет преобразовывать кодировку, я так понял? Где он будет ее преобразовывать?
"Командная строка имеет по умолчанию кодировку cp866 (DOS), а текст у вас набран скорее всего в кодировке cp1251 (Windows). Поэтому нужно менять кодировку, либо командной строки
chcp 1251
либо русского текста в программе." - расскажите по-подробнее, куда прописывать chcp 1251 и как поменять русский текст в программе?
Я поставил в билдере шрифт Licuda Console, но крякозябры все равно выводятся. По этой статье http://www.rsdn.ru/article/qna/ui/concp.xml я пытался исправить кодировку раскладки клавиатуры на DOS-CP866 программой RusLat, но я не нашел в ней нужный настроек.
Так же пробовал вставлять сразу после int main(int NumberofArgs, char*pszArgs[]) { функции SetConsoleCP(1251) и SetConsoleOutCP(1251) - не помогло. | |
|
|
|
|
|
|
|
для: fs444
(25.09.2009 в 13:16)
| | А вы кодировку консольного окна прямо в программе измените. Попробуйте выполнить следующий код.
int main(int NumberofArgs, char*pszArgs[])
{
system("chcp 1251");
cout << "Привет, Мир!";
} |
| |
|
|
|
|
|
|
|
для: cheops
(25.09.2009 в 13:23)
| | Не исправляет. Самое интересное, пишет "[крякозябры]: 1251" | |
|
|
|
|
|
|
|
для: fs444
(25.09.2009 в 13:49)
| | Я сделал так:
#include <stdio.h>
#include <iostream.h>
#include <windows.h>
int main(int args, char* pszArgs[])
{
system("chcp 1251");
cout << "Здравствуй, Мир!"
system("pause");
} |
К тому же в свойствах консоли установил шрифт Lucuida Console. Теперь русские буквы выводит прекрасно.
А вот так написать грамотно?
#include <stdio.h>
#include <iostream.h>
#include "windows.h"
int rustext(char str[])
{
CharToOem(str,str);
cout << str;
}
int main(int argc, char* argv[])
{
rustext("Всем привет\n");
system("pause");
return 0;
} |
Консоль руками настраивать не приходится. Все делает ф-ция CharToOem. | |
|
|
|