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

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

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

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

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

Проблемы с кодировками - setlocale (LC_CTYPE, "rus")
Банальщина, но решить просто не могу..
В общем при использовании русских шрифтов, в программе все отлично, но при копировании кода из DEV-c++ получается не соответствие кодировок с любым редактором, от ворда до блокнота.. (краказябры с русским текстом) - были у кого нибудь такие проблемы, кто как решал..
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.02.2011, 11:05     Кодировки - setlocale (LC_CTYPE, "rus")
Посмотрите здесь:
Почему когда в рабочую программу вставляю setlocale(LC_ALL, "Rus"); она перестает корректно работать C++
Чем отличается вызов функции setlocale(0, "") от setlocale(LC_ALL,"")? C++
C++ Не работает "setlocale( LC_ALL,"Russian" )"
C++ _tsetlocale(LC_CTYPE, _T("rus_rus"))
Чем можно заменить функцию setlocale(LC_ALL, "RUSSIAN")? C++
C++ Не работает setlocale(LC_ALL,"Russian") или Говорим по русски
C++ Не правильное значение при использовании {setlocale (LC_ALL, "Russian");
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
zulkis
681 / 608 / 38
Регистрация: 13.01.2011
Сообщений: 1,724
12.02.2011, 11:27     Кодировки - setlocale (LC_CTYPE, "rus") #2
Краказябры есть у всех. Краказябры где именно? При выполнении программы? Программа сама unicode?
кроме "rus" чтонибудь пробовал?
На эти вопросы хорошо бы ответ дать.
IIIa66uMEM6eP
заставил Бендера
435 / 291 / 10
Регистрация: 05.12.2010
Сообщений: 1,644
Записей в блоге: 6
12.02.2011, 11:32  [ТС]     Кодировки - setlocale (LC_CTYPE, "rus") #3
я же говорю, с программой все кул. проблемы при переносе кода программы в любой текстовый редактор, я лабу не могу оформить....беда))
zulkis
681 / 608 / 38
Регистрация: 13.01.2011
Сообщений: 1,724
12.02.2011, 11:48     Кодировки - setlocale (LC_CTYPE, "rus") #4
Фу ты нуты. Скачай notepad++. Ну это как вариант
Там этих кодировок, хоть ромашкой жуй.
IIIa66uMEM6eP
заставил Бендера
435 / 291 / 10
Регистрация: 05.12.2010
Сообщений: 1,644
Записей в блоге: 6
12.02.2011, 12:07  [ТС]     Кодировки - setlocale (LC_CTYPE, "rus") #5
да так то так, но нужной нету.. тоже кракозябры.
zulkis
681 / 608 / 38
Регистрация: 13.01.2011
Сообщений: 1,724
12.02.2011, 12:12     Кодировки - setlocale (LC_CTYPE, "rus") #6
Да быть не может. Win1251, utf8,koi-8, чаще всего используемые ))
IIIa66uMEM6eP
заставил Бендера
435 / 291 / 10
Регистрация: 05.12.2010
Сообщений: 1,644
Записей в блоге: 6
12.02.2011, 12:18  [ТС]     Кодировки - setlocale (LC_CTYPE, "rus") #7
ну я не зря указал что использую и где использую, может что то более точное?
setlocale (LC_CTYPE, "rus")
в DEV-C++
zulkis
681 / 608 / 38
Регистрация: 13.01.2011
Сообщений: 1,724
12.02.2011, 12:21     Кодировки - setlocale (LC_CTYPE, "rus") #8
C++
1
setlocale( LC_ALL, ".1251" );
пробуй
IIIa66uMEM6eP
заставил Бендера
435 / 291 / 10
Регистрация: 05.12.2010
Сообщений: 1,644
Записей в блоге: 6
12.02.2011, 12:35  [ТС]     Кодировки - setlocale (LC_CTYPE, "rus") #9
увы....
Нач_физик
2 / 2 / 0
Регистрация: 12.02.2011
Сообщений: 49
12.02.2011, 12:37     Кодировки - setlocale (LC_CTYPE, "rus") #10
Юзаю Microsoft Visual C++ 2010, для русификации консоли на вводе и выводе использую следующее

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

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

Если да, открой в текстовом редакторе Notepad++ твой файл, в меню кодировка поиграйся с UTF-8 или Windows-1251(Кирилица - > Windows-1251).
IIIa66uMEM6eP
заставил Бендера
435 / 291 / 10
Регистрация: 05.12.2010
Сообщений: 1,644
Записей в блоге: 6
12.02.2011, 12:45  [ТС]     Кодировки - setlocale (LC_CTYPE, "rus") #13
таки помогли)) спс
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.02.2011, 12:50     Кодировки - setlocale (LC_CTYPE, "rus")
Еще ссылки по теме:
Функция setlocale( LC_ALL,"Russian" ) и класс String C++
C++ Неправильное отображение русского текста в консоли при использовании setlocale(LC_ALL, "Russian")
C++ setlocale( LC_ALL,"Russian" );
C++ Что значит setlocale(0,"");
C++ Необработанное исключение в "0x54a2d2e9 (msvcr100d.dll)" в "3.exe": 0xC0000005: Нарушение прав доступа при записи "0xcccccccc".

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

Или воспользуйтесь поиском по форуму:
Iron Bug
22 / 22 / 0
Регистрация: 06.12.2010
Сообщений: 125
12.02.2011, 12:50     Кодировки - setlocale (LC_CTYPE, "rus") #14
операционка, как я понимаю, венда...
тогда:
1. какая кодировка исходных строк (кодировка исходников или кодировка файлов, из которых считываются строки)?
2. куда идёт вывод (консоль, текстовый файл, либо что-то ещё)?

я тут недавно копала на эту тему, теперь у меня под любой платформой на любом языке всё нормально выводится (для MinGW и GCC). у меня есть куча ссылок на материалы по этой теме. скорее всего, и для твоего случая проканает. но это длиная тема и для начала уточни задачу, а ещё лучше - приведи кусок кода, хотя бы маленький - что и куда пытаешься вывести. тогда скажу, что нужно делать. да, и ещё сделай "фото" кракозябр - какие именно. по виду кракозябр легче определить, что конкретно не так. я уже на вид вижу тип несоответствия кодировок
Yandex
Объявления
12.02.2011, 12:50     Кодировки - setlocale (LC_CTYPE, "rus")
Ответ Создать тему
Опции темы

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