Dev C++ не Распознает Русский язык РЕШЕНИЕ
Вставка
- Опубліковано 2 жов 2024
- Вот для ленивых: setlocale (LC_ALL, "RUSSIAN");
Отличный Кэш - Бэк для Alixpress: got.by/271zec
Плагин для Удобства: got.by/271zi1
Кэш-Бэк для других Интернет Магазинов: goo.gl/oUvpmR
Спасибо за просмотр. Подписывайтесь на мой канал будет много интересного и полезного для каждого современного человека.
Embarcadero Dev-C++ если видит в коде не ANSI символа, предлагает сохранить в UTF-8. Другие обычно тоже сохраняют либо в CP1251, либо в UTF-8. Решается проблема кодировки исходников опциями компилятора:
-finput-charset=CP1251
-fexec-charset=CP866 (кодировка по-умолчанию в коммандной строке Windows). К примеру исходник в UTF-8:
-finput-charset=UTF-8 -fexec-charset=CP866
Эти опции добавить в настройках программы, где указываются дополнительные опции компилятора. И будет вам счастье! Это будет не надо - setlocale (LC_ALL, "RUSSIAN");
там правильно как-то так: Russian_Russia.UTF-8 или Russian_Russia.1251, но редко кому помогало.
Помогло, ввел команду -finput-charset=UTF-8 -fexec-charset=CP866 но дополнительно установил файлы gccrus.exe и добавил его в настройках компилятора.
Спасибо. Помогло.
Спасибо
@@ПавлЧ а мне не помогло
Все эти примочки как мёртвому припарки. Ну не хочет Dev-Cpp понимать ни файлики, ни кодики, ничего.
Решение оказалось фундаментальным.
Во первых, в первую очередь, настройка локализации ЗАВИСИТ ОТ IDE. Разные версии Dev-Cpp по разному работают с кодировкой. Какие-то с UTF-8, а какие-то с ANSI, это как разработчик настроит - кому под Linux, а кому под винду, а по итогу для винды смеси разные. Если под семёркой локаль работает, то под ХР-кой нет, и хрен там настроишь.
Долго мучился разбирался. В конце концов понял:
Виноваты разработчики, это их косяки - надо проверять на разных компьютерах и на разных ОС-ках, и только после этого решать для чего сие годится. И ни подмена шрифтов, ни прописывание "костылей" здесь не помогут.
Но есть и хорошая новость.
Надо прежде проверить свою IDE, как она настраивает текстовый редактор, главное что бы там вообще настройка кодировки была. По умолчанию кодировка ANSI. Вот в этой кодировке и надо сохранять тексты перед компиляцией. И в случае чего проверять. Часто бывает что IDE сохраняет не так как указано в настройках, я этот факт ловил не раз.
Когда все кодировки одинаковы И СОВМЕСТИМЫ с операционной системой, то компиляция проходит правильно, выходной файл показывает кирилицу. НО!!! Стоило переместить это файло с семёрки на ХР-ку, и тут капкан! ПРОПАЛА КИРИЛИЦА. Ну не совпадают коды символов и всё тут. ПОЭТОМУ НАДО ПРОВЕРЯТЬ с другими операционками и просто с другими компами!!!!!! Где-то проходит UTF-8, а где-то ANSI.
СНАЧАЛА ИЩИТЕ ГОДНЫЙ ИНСТРУМЕНТ, а потом не забывайте проверять на других системах.
Если всё правильно настроено, то похрен какой там шрифт в консоли и в редакторе, конечно если не экзотический. В виндовой консоли лучше смотрится "точечные шрифты", они по умолчанию стоят.
При компиляции коды переносятся ИЗ КОДИРОВКИ текста программы, НО вот "кодировка" самого компилятора может оказаться не совместимой и он перенесёт коды как есть, это же число, а не кодовая таблица. А дальше уже абзац.
Винда работает через пары локалей: en-US и ru-RU. И чтобы не было кракозябр, мелкомягкие позаботились о единстве представлений. Но и у них случаются косяки. Это хорошо заметно на текстовых файлах и почтовых сообщениях. Случается ошибочная перекодировка.
Блюдите Единство кодировок и систем. Иначе никакие правильные "прописи" не помогут - виноват всегда разработчик-программист. Это он не досмотрел, не додумал, не проверил, не убедился. Компилятор переносит цифры кода, но не систему распознавания кодов. И похрен каким способом вы кодировку обрисовали - с "костылями" или без.
Пробовал, как рекомендуют ставить файлы gccrus.exe и g++rus.exe, не помогает. Так же совместно с этими файлами команду -finput-charset=UTF-8 -fexec-charset=CP866 не работает. Но если сохраняться в ANSI, то русские буквы в консоле будут. В итоге переустановил DEV C++ v.6.3, просто прописал команду которая выше и о чудо, файлы стали сохраняться в UTF-8 и выводить русские буквы в консоли. Tools->Compiler Options->Add the following commands when calling the compiler: -finput-charset=UTF-8 -fexec-charset=CP866 вставить туда ипоставить галочку "V".
И у меня наконец то заработало по Вашему совету, тоже мучался с русскими символами
Спасибо после того как прописал эту команду наконец-то стало распознавать
здоровья тебе, добрый человек ! Твой совет помог, я очень рада
никак не помогает ни ру ни рашин
Все эти примочки как мёртвому припарки. Ну не хочет Dev-Cpp понимать ни файлики, ни кодики, ничего.
Решение оказалось фундаментальным.
Во первых, в первую очередь, настройка локализации ЗАВИСИТ ОТ IDE. Разные версии Dev-Cpp по разному работают с кодировкой. Какие-то с UTF-8, а какие-то с ANSI, это как разработчик настроит - кому под Linux, а кому под винду, а по итогу для винды смеси разные. Если под семёркой локаль работает, то под ХР-кой нет, и хрен там настроишь.
Долго мучился разбирался. В конце концов понял:
Виноваты разработчики, это их косяки - надо проверять на разных компьютерах и на разных ОС-ках, и только после этого решать для чего сие годится. И ни подмена шрифтов, ни прописывание "костылей" здесь не помогут.
Но есть и хорошая новость.
Надо прежде проверить свою IDE, как она настраивает текстовый редактор, главное что бы там вообще настройка кодировки была. По умолчанию кодировка ANSI. Вот в этой кодировке и надо сохранять тексты перед компиляцией. И в случае чего проверять. Часто бывает что IDE сохраняет не так как указано в настройках, я этот факт ловил не раз.
Когда все кодировки одинаковы И СОВМЕСТИМЫ с операционной системой, то компиляция проходит правильно, выходной файл показывает кирилицу. НО!!! Стоило переместить это файло с семёрки на ХР-ку, и тут капкан! ПРОПАЛА КИРИЛИЦА. Ну не совпадают коды символов и всё тут. ПОЭТОМУ НАДО ПРОВЕРЯТЬ с другими операционками и просто с другими компами!!!!!! Где-то проходит UTF-8, а где-то ANSI.
СНАЧАЛА ИЩИТЕ ГОДНЫЙ ИНСТРУМЕНТ, а потом не забывайте проверять на других системах.
Если всё правильно настроено, то похрен какой там шрифт в консоли и в редакторе, конечно если не экзотический. В виндовой консоли лучше смотрится "точечные шрифты", они по умолчанию стоят.
При компиляции коды переносятся ИЗ КОДИРОВКИ текста программы, НО вот "кодировка" самого компилятора может оказаться не совместимой и он перенесёт коды как есть, это же число, а не кодовая таблица. А дальше уже абзац.
Винда работает через пары локалей: en-US и ru-RU. И чтобы не было кракозябр, мелкомягкие позаботились о единстве представлений. Но и у них случаются косяки. Это хорошо заметно на текстовых файлах и почтовых сообщениях. Случается ошибочная перекодировка.
Блюдите Единство кодировок и систем. Иначе никакие правильные "прописи" не помогут - виноват всегда разработчик-программист. Это он не досмотрел, не додумал, не проверил, не убедился. Компилятор переносит цифры кода, но не систему распознавания кодов. И похрен каким способом вы кодировку обрисовали - с "костылями" или без.
У меня тоже
Работает следующая запись введенная в " добавить команду в запуск компилятора"
-finput-charset=CP1251 -fexec-charset=CP866
не работает
спасибо броо люблю тебя обожаю лучший крч помог