Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 22, средняя оценка - 4.91
blackbanny
129 / 116 / 2
Регистрация: 14.11.2010
Сообщений: 707
#1

Вывод иероглифов вместо русских символов - C++

17.05.2011, 22:09. Просмотров 2872. Ответов 11
Метки нет (Все метки)

ситуация такая вывожу строки на русском с помощью printf() в коде программы, перед этим пишу setlocale(LC_ALL, "") все нормально, но когда в процессе работы программы ввожу русские данные в консоле и также в программе вывожу их, то выводятся иероглифы...
подскажите в чем проблема...
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.05.2011, 22:09     Вывод иероглифов вместо русских символов
Посмотрите здесь:
C++ Вывод непонятных символов вместо русских букв
Вывод в документ: китайские иероглифа вместо русских или английских букв C++
Вывод русских символов в консоль C++
Вывод в консоль русских символов C++
Вывод на консоль русских символов C++
C++ Появляются "кракозябры" вместо русских символов!
C++ Вывод цифр вместо символов
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
lvlkoo
.NET C#,ASP.NET MVC
334 / 290 / 101
Регистрация: 16.10.2010
Сообщений: 1,292
Завершенные тесты: 2
18.05.2011, 00:01     Вывод иероглифов вместо русских символов #2
хм всегда делал так и работало
C++
1
2
#include <locale.h>
setlocale(LC_ALL,"Russian")
fidzhi
5 / 5 / 1
Регистрация: 16.02.2011
Сообщений: 45
18.05.2011, 01:00     Вывод иероглифов вместо русских символов #3
Вам поможет вот это:
C
1
2
3
#include <windows.h>
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
ForEveR
В астрале
Эксперт С++
7970 / 4732 / 320
Регистрация: 24.06.2010
Сообщений: 10,541
Завершенные тесты: 3
18.05.2011, 01:17     Вывод иероглифов вместо русских символов #4
C++
1
2
3
#include <locale>
 
std::locale().global(std::locale(""));
blackbanny
129 / 116 / 2
Регистрация: 14.11.2010
Сообщений: 707
18.05.2011, 08:09  [ТС]     Вывод иероглифов вместо русских символов #5
попробовал все варианты, но все равно иероглифы выводит...
или писать нужно непосредственно перед кодом где водятся данные?
просто я писал в начале main
kazak
3034 / 2355 / 155
Регистрация: 11.03.2009
Сообщений: 5,401
18.05.2011, 08:46     Вывод иероглифов вместо русских символов #6
Используй вариант из третьего поста. В свойствах окна консоли поменяй шрифт на Lucida Console.
blackbanny
129 / 116 / 2
Регистрация: 14.11.2010
Сообщений: 707
18.05.2011, 13:03  [ТС]     Вывод иероглифов вместо русских символов #7
Цитата Сообщение от kazak Посмотреть сообщение
Используй вариант из третьего поста. В свойствах окна консоли поменяй шрифт на Lucida Console.
сделал, но даже просто выводит чушь, не говоря о том, что когда ввожу в консоле русские, то тоже иероглифы вводятся...
kazak
3034 / 2355 / 155
Регистрация: 11.03.2009
Сообщений: 5,401
18.05.2011, 13:47     Вывод иероглифов вместо русских символов #8
Цитата Сообщение от blackbanny Посмотреть сообщение
когда ввожу в консоле русские, то тоже иероглифы вводятся...
довольно таки странно. Тогда попытай счястья с CharToOem.
fidzhi
5 / 5 / 1
Регистрация: 16.02.2011
Сообщений: 45
19.05.2011, 00:42     Вывод иероглифов вместо русских символов #9
Покажи скрин своих иероглифов, если не трудно, с сетконсолью и луцидой в шрифтах.
AXSystems
0 / 0 / 0
Регистрация: 09.11.2012
Сообщений: 3
15.11.2012, 01:13     Вывод иероглифов вместо русских символов #10
C++
1
2
3
4
5
6
7
8
#include <locale.h>        // Для вывода русских символов в терминал
....
 
int SetRusString()
{
    setlocale(LC_ALL,"Russian");
    return EXIT_SUCCESS;
}
И в коде майн так вот
C++
1
2
3
4
5
int main(int argc, char **argv)
{
    SetRusString(); // включение русских символов в консоле
....
}
И все ок. Функцию SetRusString() вынес в отдельный h файл, чтобы не вспоминать как пишается локаль...)))
Croessmah
Модератор
Эксперт CЭксперт С++
13059 / 7322 / 817
Регистрация: 27.09.2012
Сообщений: 18,074
Записей в блоге: 3
Завершенные тесты: 1
15.11.2012, 05:37     Вывод иероглифов вместо русских символов #11
Цитата Сообщение от blackbanny Посмотреть сообщение
делал, но даже просто выводит чушь, не говоря о том, что когда ввожу в консоле русские, то тоже иероглифы вводятся...
У Вас, наверное, dev c++?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.11.2012, 09:12     Вывод иероглифов вместо русских символов
Еще ссылки по теме:
Иероглифы вместо русских букв C++
Русифицировать консоль (кракозябры вместо русских букв) C++
C++ Иероглифы вместо русских букв и Красная строка
C++ Созданная программа вместо русских бук выдает иероглифы
_getch() в цикле выводит бред вместо русских букв C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
LVV
57 / 57 / 4
Регистрация: 15.02.2010
Сообщений: 248
15.11.2012, 09:12     Вывод иероглифов вместо русских символов #12
Может это поможет...
http://www.lvvas.net84.net/index.php...115&Itemid=101
Yandex
Объявления
15.11.2012, 09:12     Вывод иероглифов вместо русских символов
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru