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

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

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 22, средняя оценка - 4.91
blackbanny
128 / 115 / 2
Регистрация: 14.11.2010
Сообщений: 707
17.05.2011, 22:09     Вывод иероглифов вместо русских символов #1
ситуация такая вывожу строки на русском с помощью printf() в коде программы, перед этим пишу setlocale(LC_ALL, "") все нормально, но когда в процессе работы программы ввожу русские данные в консоле и также в программе вывожу их, то выводятся иероглифы...
подскажите в чем проблема...
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
lvlkoo
.NET C#,ASP.NET MVC
 Аватар для lvlkoo
302 / 258 / 89
Регистрация: 16.10.2010
Сообщений: 1,161
Завершенные тесты: 1
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
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
18.05.2011, 01:17     Вывод иероглифов вместо русских символов #4
C++
1
2
3
#include <locale>
 
std::locale().global(std::locale(""));
blackbanny
128 / 115 / 2
Регистрация: 14.11.2010
Сообщений: 707
18.05.2011, 08:09  [ТС]     Вывод иероглифов вместо русских символов #5
попробовал все варианты, но все равно иероглифы выводит...
или писать нужно непосредственно перед кодом где водятся данные?
просто я писал в начале main
kazak
 Аватар для kazak
3029 / 2350 / 155
Регистрация: 11.03.2009
Сообщений: 5,401
18.05.2011, 08:46     Вывод иероглифов вместо русских символов #6
Используй вариант из третьего поста. В свойствах окна консоли поменяй шрифт на Lucida Console.
blackbanny
128 / 115 / 2
Регистрация: 14.11.2010
Сообщений: 707
18.05.2011, 13:03  [ТС]     Вывод иероглифов вместо русских символов #7
Цитата Сообщение от kazak Посмотреть сообщение
Используй вариант из третьего поста. В свойствах окна консоли поменяй шрифт на Lucida Console.
сделал, но даже просто выводит чушь, не говоря о том, что когда ввожу в консоле русские, то тоже иероглифы вводятся...
kazak
 Аватар для kazak
3029 / 2350 / 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
Модератор
Эксперт С++
 Аватар для Croessmah
11825 / 6804 / 769
Регистрация: 27.09.2012
Сообщений: 16,871
Записей в блоге: 2
Завершенные тесты: 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++

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

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

Текущее время: 15:54. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru