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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 87, средняя оценка - 4.63
IIIa66uMEM6eP
заставил Бендера
436 / 292 / 10
Регистрация: 05.12.2010
Сообщений: 1,647
Записей в блоге: 6
#1

Кодировки - setlocale (LC_CTYPE, "rus") - C++

12.02.2011, 11:05. Просмотров 11572. Ответов 13
Метки нет (Все метки)

Проблемы с кодировками - setlocale (LC_CTYPE, "rus")
Банальщина, но решить просто не могу..
В общем при использовании русских шрифтов, в программе все отлично, но при копировании кода из DEV-c++ получается не соответствие кодировок с любым редактором, от ворда до блокнота.. (краказябры с русским текстом) - были у кого нибудь такие проблемы, кто как решал..
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.02.2011, 11:05
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Кодировки - setlocale (LC_CTYPE, "rus") (C++):

Почему когда в рабочую программу вставляю setlocale(LC_ALL, "Rus"); она перестает корректно работать - C++
Программа сначала считывает данные с файла, потом сортирует их и сохраняет. Мне нужно было сделать меню на русском, но после добавления...

Чем отличается вызов функции setlocale(0, "") от setlocale(LC_ALL,"")? - C++
Например printf(setlocale(0, "")); cout << endl; printf(setlocale(LC_ALL, "")); выдают одинаковый результат (ну, на моей...

Не работает "setlocale( LC_ALL,"Russian" )" - C++
В одной программе setlocale( LC_ALL,"Russian" ) работает, а в другой, ничем не отличающейся от первой, нет. В чем дело?

_tsetlocale(LC_CTYPE, _T("rus_rus")) - C++
CString cfn; ... cfn.Left(3).CompareNoCase(L"ИЗМ") == 0 Почему это условие не выполняется при cfn равное, например, "изм5"? ...

Не правильное значение при использовании {setlocale (LC_ALL, "Russian"); - C++
Почему после подключения команды #include <locale.h> ... setlocale (LC_ALL, "Russian"); программа начинает выдавать не правильный результат...

Не работает setlocale(LC_ALL,"Russian") или Говорим по русски - C++
оператор setlocale(LC_ALL,"Russian"); при проверке одной консольной программы сpp в 3 оболочках C++Builder, CodeBlocks, MS VisualStudio...

13
zulkis
682 / 609 / 38
Регистрация: 13.01.2011
Сообщений: 1,724
12.02.2011, 11:27 #2
Краказябры есть у всех. Краказябры где именно? При выполнении программы? Программа сама unicode?
кроме "rus" чтонибудь пробовал?
На эти вопросы хорошо бы ответ дать.
0
IIIa66uMEM6eP
заставил Бендера
436 / 292 / 10
Регистрация: 05.12.2010
Сообщений: 1,647
Записей в блоге: 6
12.02.2011, 11:32  [ТС] #3
я же говорю, с программой все кул. проблемы при переносе кода программы в любой текстовый редактор, я лабу не могу оформить....беда))
0
zulkis
682 / 609 / 38
Регистрация: 13.01.2011
Сообщений: 1,724
12.02.2011, 11:48 #4
Фу ты нуты. Скачай notepad++. Ну это как вариант
Там этих кодировок, хоть ромашкой жуй.
0
IIIa66uMEM6eP
заставил Бендера
436 / 292 / 10
Регистрация: 05.12.2010
Сообщений: 1,647
Записей в блоге: 6
12.02.2011, 12:07  [ТС] #5
да так то так, но нужной нету.. тоже кракозябры.
0
zulkis
682 / 609 / 38
Регистрация: 13.01.2011
Сообщений: 1,724
12.02.2011, 12:12 #6
Да быть не может. Win1251, utf8,koi-8, чаще всего используемые ))
0
IIIa66uMEM6eP
заставил Бендера
436 / 292 / 10
Регистрация: 05.12.2010
Сообщений: 1,647
Записей в блоге: 6
12.02.2011, 12:18  [ТС] #7
ну я не зря указал что использую и где использую, может что то более точное?
setlocale (LC_CTYPE, "rus")
в DEV-C++
0
zulkis
682 / 609 / 38
Регистрация: 13.01.2011
Сообщений: 1,724
12.02.2011, 12:21 #8
C++
1
setlocale( LC_ALL, ".1251" );
пробуй
0
IIIa66uMEM6eP
заставил Бендера
436 / 292 / 10
Регистрация: 05.12.2010
Сообщений: 1,647
Записей в блоге: 6
12.02.2011, 12:35  [ТС] #9
увы....
0
Нач_физик
2 / 2 / 0
Регистрация: 12.02.2011
Сообщений: 49
12.02.2011, 12:37 #10
Юзаю Microsoft Visual C++ 2010, для русификации консоли на вводе и выводе использую следующее

// Руссификация ввода ввывода
// установить вручную шрифт Lucida Console в свойствах окна консоли
// и запомнить это для всех окон с этим именем
// записать в начале программы строку
#include <windows.h>
// записать в начале функции main ( после строки с символом { )
// две следующих строки
// SetConsoleCP(1251);
// SetConsoleOutputCP(1251);

Попробуй, может и в DEV++ прокатит
1
zulkis
682 / 609 / 38
Регистрация: 13.01.2011
Сообщений: 1,724
12.02.2011, 12:38 #11
Ладно, я так понимаю у тебя просто проблемы переноса текста из дев++ кудабытонибыло. Ну это обычный поиск кодировки...
Ты через копипасту копируешь?
А не пробовал к примеру *.cpp файл вскрыть тем же Notepad++?
1
papochka
33 / 33 / 2
Регистрация: 14.11.2009
Сообщений: 137
12.02.2011, 12:39 #12
проблемы при переносе кода программы в любой текстовый редактор
Кодировка самого файла, ты хотел сказал? Ну, там main.cpp или что-то ещё...

Если да, открой в текстовом редакторе Notepad++ твой файл, в меню кодировка поиграйся с UTF-8 или Windows-1251(Кирилица - > Windows-1251).
1
IIIa66uMEM6eP
заставил Бендера
436 / 292 / 10
Регистрация: 05.12.2010
Сообщений: 1,647
Записей в блоге: 6
12.02.2011, 12:45  [ТС] #13
таки помогли)) спс
0
Iron Bug
22 / 22 / 0
Регистрация: 06.12.2010
Сообщений: 125
12.02.2011, 12:50 #14
операционка, как я понимаю, венда...
тогда:
1. какая кодировка исходных строк (кодировка исходников или кодировка файлов, из которых считываются строки)?
2. куда идёт вывод (консоль, текстовый файл, либо что-то ещё)?

я тут недавно копала на эту тему, теперь у меня под любой платформой на любом языке всё нормально выводится (для MinGW и GCC). у меня есть куча ссылок на материалы по этой теме. скорее всего, и для твоего случая проканает. но это длиная тема и для начала уточни задачу, а ещё лучше - приведи кусок кода, хотя бы маленький - что и куда пытаешься вывести. тогда скажу, что нужно делать. да, и ещё сделай "фото" кракозябр - какие именно. по виду кракозябр легче определить, что конкретно не так. я уже на вид вижу тип несоответствия кодировок
0
12.02.2011, 12:50
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.02.2011, 12:50
Привет! Вот еще темы с ответами:

Чем можно заменить функцию setlocale(LC_ALL, "RUSSIAN")? - C++
напишите пожалуйста пример!!

Функция setlocale( LC_ALL,"Russian" ) и класс String - C++
У меня есть класс и головная функция этого класса. Переменные типа стринг я могу водить в консоли, ну как только я подключаю функцию...

В зависимости от времени года "весна", "лето", "осень", "зима" определить погоду "тепло", "жарко", "холодно", "очень холодно" - C++
В зависимости от времени года &quot;весна&quot;, &quot;лето&quot;, &quot;осень&quot;, &quot;зима&quot; определить погоду &quot;тепло&quot;, &quot;жарко&quot;, &quot;холодно&quot;, &quot;очень холодно&quot;. Я так...

Неправильное отображение русского текста в консоли при использовании setlocale(LC_ALL, "Russian") - C++
Ребят, такая ситуация, прописал setlocale(LC_ALL, &quot;Russian&quot;);но в консоли вместо текста на русском-набор букв, в чем может быть...


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

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Опции темы

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