![]() ![]() ![]() |
||||||||||||||||||||||||||
Русский текст в консоли19.12.2012, 15:59. Показов 458742. Ответов 2
Метки akelpad, chcp 1251, command line codepage, cp1251, cp866, notepad++, oem-866, recode win dos, scite-ru, win-1251, абракадабра в консоли, крякозябры в консоли, русский текст в консоли (Все метки)
Написав в блокноте Windows (Notepad.exe) батник 1.bat такого содержания
Bash @Echo off Echo Введите текст. Завершение ввода - комбинация Ctrl+Z {ENTER} copy con temp.txt Почему так происходит? Консоль работает в кодировке DOS (codepage 866). Блокнот Windows создает пакетный файл в кодировке WIN (codepage 1251). Поэтому, когда Вы запускаете файл, консоль отображает его в своей (DOS) кодировке. Решение (3 способа): 1 способ (сохранение файла в кодировке OEM-866): Скачаем текстовый редактор, поддерживающий сохранение текста в кодировке OEM-866 (DOS): AkelPad
Чтобы создать новый файл в кодировке DOS: Меню "Файл" -> "Сохранить как..." -> из выпадающего списка выбрать "Кодировка OEM-866". Файл должен иметь расширение bat или cmd. Для себя я настроил AkelPad так, чтобы он всегда сохранял в кодировке OEM-866 (Настройки -> Параметры -> Кодировка по-умолчанию -> OEM-866.) Скачать. Сам пользуюсь вот такой модификацией что и Вам советую. Скачать. Или качаем с официального сайта. Чтобы правильно сконвертировать уже имеющийся в редакторе код с кириллицей: Войти в редактор. 1) Ctrl+A, скопировать код. 2) Удалить код. 3) Меню "Кодировки" -> выбрать "Сохранить в DOS-866". 4) Вставить код. 5) Сохранить, запустить. Полезные горячие комбинации клавиш: Запуск скрипта (Ctrl + F5) На весь экран (F11) Сохранить (Ctrl + S) Открыть в кодировке WIN (Alt + W) Открыть в кодировке DOS (Alt + D) ![]() Notepad++
Чтобы создать новый файл в кодировке DOS: Меню "Кодировки" -> "Кодировки" -> "Кириллица" -> "OEM-866" "Файл" -> "Сохранить как..." -> пишем имя файла и расширение bat или cmd -> Сохранить. Чтобы правильно сконвертировать уже имеющийся в редакторе код с кириллицей: Войти в редактор. 1) Ctrl+A, скопировать код. 2) Удалить код. 3) Меню "Кодировки" -> "Кодировки" -> "Кириллица" -> "OEM-866" 4) Вставить код. 5) Сохранить, запустить. Скачать редактор с официального сайта. Помните: в редакторе не должно быть видно "крякозябер", иначе это значит: Вы неправильно скопировали код. В Windows Vista, 7 часто бывает, что код с форума "портиться" в буфере. Выход: когда копируете код, убедитесь, что включена русская раскладка клавиш. 2 способ (смена кодовой страницы): Сменить кодовую страницу консоли. А именно, в начале пакетного файла написать:
Что можно? Bash md "Моя папка" Что нельзя: Bash Echo Мой текст Кроме того, текст сообщений от команд консоли тоже станет нечитаемым. Но русский текст все равно можно вывести таким трюком: 2а)
(или для тех, кто не может установить себе продвинутый редактор по религиозным или др. причинам ![]() Конвертируем Batch-файл правым кликом мыши ^_^ Пример для Windows 7: 1) Пуск -> в поисковой строке набрать Shell:SendTo 2) Откроется папка, в которую нужно скопировать RecodeToDOS.vbs из этого архива. Использование: Правый клик мыши по Batch-файлу -> Отправить -> RecodeToDOS Файл будет заменен перекодированной версией. Код исходника
Старый вариант: перекодировщик на языке Batch. Может некорректно работать со спецсимволами.
Здесь достаточно перетянуть Ваш файл на нижеуказанный файл-сценарий. Ваш исходный файл будет заменён перекодированным вариантом. Скачать код архивом.
Способ 3а. Ухищренный (для истинных кодеров). Писать в блокноте кириллический текст в виде псевдосимволов (т.е. вручную перекодировать) ALT + код символа (на цифровой клавиатуре) ![]() Способ 4. Он-лайн перекодировщик Способ 5. Использовать стороннее ПО. Обсуждения прошу вести в теме: Русский язык в командной строке Обзор других редакторов: Кто какие программы использует для написания батников? Миниатюры
37
|
19.12.2012, 15:59 | |
Ответы с готовыми решениями:
2
Русский текст в консоли Русский текст в консоли Русский текст в консоли |
887 / 189 / 16
Регистрация: 18.07.2011
Сообщений: 260
|
||||||
19.12.2012, 18:55 | ||||||
В дополнение к теме "Русский текст в консоли"
Для постоянной работы с батниками удобно пользоваться редактором Scite-ru. Нужно только запомнить три клавиши: Alt + F9 - Переключиться в кодировку cp866 F5 - Выполнить батник в отдельном окне F7 - Вывести результат выполнения батника в консоль Scite У Scite есть огромный недостаток, он не позволяет копировать тексты написанные в кодировке cp866. Поэтому приходится пользоваться следующим батником:
4
|
![]() ![]() ![]() |
||||||
08.06.2013, 18:34 [ТС] | ||||||
Русский текст в консольном приложении C++
5
|
08.06.2013, 18:34 | |
Помогаю со студенческими работами здесь
3
Кодировка, русский текст в консоли Русский текст в консоли (не одно и то же) После компиляции в консоли не выводится русский текст Рисование ASCII кодами и русский текст в консоли Как с консоли записать в файл русский текст Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Опции темы | |
|
Новые блоги и статьи
![]() |
||||
Чем асинхронная логика (схемотехника) лучше тактируемой, как я думаю, что помимо энергоэффективности - ещё и безопасность.
Hrethgir 14.05.2025
Помимо огромного плюса в энергоэффективности, асинхронная логика - тотальный контроль над каждым совершённым тактом, а значит - безусловная безопасность, где безконтрольно не совершится ни одного. . .
|
Многопоточные приложения на C++
bytestream 14.05.2025
C++ всегда был языком, тесно работающим с железом, и потому особеннно эффективным для многопоточного программирования. Стандарт C++11 произвёл революцию, добавив в язык нативную поддержку потоков,. . .
|
Stack, Queue и Hashtable в C#
UnmanagedCoder 14.05.2025
Каждый опытный разработчик наверняка сталкивался с ситуацией, когда невинный на первый взгляд List<T> превращался в узкое горлышко всего приложения. Причина проста: универсальность – это прекрасно,. . .
|
Как использовать OAuth2 со Spring Security в Java
Javaican 14.05.2025
Протокол OAuth2 часто путают с механизмами аутентификации, хотя по сути это протокол авторизации. Представьте, что вместо передачи ключей от всего дома вашему другу, который пришёл полить цветы, вы. . .
|
Анализ текста на Python с NLTK и Spacy
AI_Generated 14.05.2025
NLTK, старожил в мире обработки естественного языка на Python, содержит богатейшую коллекцию алгоритмов и готовых моделей. Эта библиотека отлично подходит для образовательных целей и. . .
|
Реализация DI в PHP
Jason-Webb 13.05.2025
Когда я начинал писать свой первый крупный PHP-проект, моя архитектура напоминала запутаный клубок спагетти. Классы создавали другие классы внутри себя, зависимости жостко прописывались в коде, а о. . .
|
Обработка изображений в реальном времени на C# с OpenCV
stackOverflow 13.05.2025
Объединение библиотеки компьютерного зрения OpenCV с современным языком программирования C# создаёт симбиоз, который открывает доступ к впечатляющему набору возможностей. Ключевое преимущество этого. . .
|
POCO, ACE, Loki и другие продвинутые C++ библиотеки
NullReferenced 13.05.2025
В C++ разработки существует такое обилие библиотек, что порой кажется, будто ты заблудился в дремучем лесу. И среди этого многообразия POCO (Portable Components) – как маяк для тех, кто ищет. . .
|
Паттерны проектирования GoF на C#
UnmanagedCoder 13.05.2025
Вы наверняка сталкивались с ситуациями, когда код разрастается до неприличных размеров, а его поддержка становится настоящим испытанием. Именно в такие моменты на помощь приходят паттерны Gang of. . .
|
Создаем CLI приложение на Python с Prompt Toolkit
py-thonny 13.05.2025
Современные командные интерфейсы давно перестали быть черно-белыми текстовыми программами, которые многие помнят по старым операционным системам. CLI сегодня – это мощные, интуитивные и даже. . .
|