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

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

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

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

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

ситуация такая вывожу строки на русском с помощью printf() в коде программы, перед этим пишу setlocale(LC_ALL, "") все нормально, но когда в процессе работы программы ввожу русские данные в консоле и также в программе вывожу их, то выводятся иероглифы...
подскажите в чем проблема...
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.05.2011, 22:09
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Вывод иероглифов вместо русских символов (C++):

Вывод непонятных символов вместо русских букв - C++
Здравствуйте, возникла такая проблема, что при выводе строки в методе Show() тот текст, который вводился с клавиатуры на русском языке,...

Знаки вопроса вместо русских символов в меню ImGUI - C++
У меня есть менюшка написана на ImGUi Английский язык воспринимает нормально но вместо русского знаки вопроса как исправить ? Уже второй...

Как настроить ввод русских символов и в дальнейшем вывод этих символов - C++
Подскажите как в этом коде настроить ввод русских символов и в дальнейшем вывод этих символов. Данный код выводит лишь всякую ерунду место...

Вывод в документ: китайские иероглифа вместо русских или английских букв - C++
В коде какато фигня. Он написан и по идее работает, но вот с языком вывода проблема. Когда записываешь что-то в документ он записывает...

Вывод в консоль русских символов - C++
Парни объясните почему так происходит?? почему не выводятся символы от а до р? ps : setlocal rus .... хз как там, уже пробовал добавлять...

Вывод русских символов в консоль - C++
Чтобы выводить русские буквы в консоли, написал функцию rustext() #include<iostream> using namespace std; #include<windows> ...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
lvlkoo
.NET C#,ASP.NET MVC
335 / 291 / 101
Регистрация: 16.10.2010
Сообщений: 1,292
Завершенные тесты: 2
18.05.2011, 00:01 #2
хм всегда делал так и работало
C++
1
2
#include <locale.h>
setlocale(LC_ALL,"Russian")
0
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);
0
ForEveR
В астрале
Эксперт С++
7972 / 4734 / 321
Регистрация: 24.06.2010
Сообщений: 10,541
Завершенные тесты: 3
18.05.2011, 01:17 #4
C++
1
2
3
#include <locale>
 
std::locale().global(std::locale(""));
0
blackbanny
129 / 116 / 2
Регистрация: 14.11.2010
Сообщений: 707
18.05.2011, 08:09  [ТС] #5
попробовал все варианты, но все равно иероглифы выводит...
или писать нужно непосредственно перед кодом где водятся данные?
просто я писал в начале main
0
kazak
3035 / 2356 / 155
Регистрация: 11.03.2009
Сообщений: 5,402
Завершенные тесты: 1
18.05.2011, 08:46 #6
Используй вариант из третьего поста. В свойствах окна консоли поменяй шрифт на Lucida Console.
0
blackbanny
129 / 116 / 2
Регистрация: 14.11.2010
Сообщений: 707
18.05.2011, 13:03  [ТС] #7
Цитата Сообщение от kazak Посмотреть сообщение
Используй вариант из третьего поста. В свойствах окна консоли поменяй шрифт на Lucida Console.
сделал, но даже просто выводит чушь, не говоря о том, что когда ввожу в консоле русские, то тоже иероглифы вводятся...
0
kazak
3035 / 2356 / 155
Регистрация: 11.03.2009
Сообщений: 5,402
Завершенные тесты: 1
18.05.2011, 13:47 #8
Цитата Сообщение от blackbanny Посмотреть сообщение
когда ввожу в консоле русские, то тоже иероглифы вводятся...
довольно таки странно. Тогда попытай счястья с CharToOem.
0
fidzhi
5 / 5 / 1
Регистрация: 16.02.2011
Сообщений: 45
19.05.2011, 00:42 #9
Покажи скрин своих иероглифов, если не трудно, с сетконсолью и луцидой в шрифтах.
0
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 файл, чтобы не вспоминать как пишается локаль...)))
0
Croessmah
Эксперт CЭксперт С++
13221 / 7493 / 845
Регистрация: 27.09.2012
Сообщений: 18,412
Записей в блоге: 3
Завершенные тесты: 1
15.11.2012, 05:37 #11
Цитата Сообщение от blackbanny Посмотреть сообщение
делал, но даже просто выводит чушь, не говоря о том, что когда ввожу в консоле русские, то тоже иероглифы вводятся...
У Вас, наверное, dev c++?
0
LVV
57 / 57 / 4
Регистрация: 15.02.2010
Сообщений: 249
15.11.2012, 09:12 #12
Может это поможет...
http://www.lvvas.net84.net/index.php...115&Itemid=101
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.11.2012, 09:12
Привет! Вот еще темы с ответами:

Вывод на консоль русских символов - C++
wcout должна вроде это делать , но все равно чето не получается. Как граммотно это делается?

Появляются "кракозябры" вместо русских символов! - C++
Что делать если вместо русского текста в cout &lt;&lt; , появляются непонятные символы?

Вывод цифр вместо символов - C++
Добрый день, есть ли объяснение тому, почему в данном примере вместо символов 'abc' выводится набор цифр? Спасибо. #include &lt;iostream&gt;...

Иероглифы вместо русских букв - C++
Как сделать в С что бы вместо иероглифов были русские буквы


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
15.11.2012, 09:12
Ответ Создать тему
Опции темы

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