1 | ||||||||||||||||||||||||||
Русский текст в консоли19.12.2012, 15:59. Показов 440299. Ответов 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 | 2 | |||||
В дополнение к теме "Русский текст в консоли"
Для постоянной работы с батниками удобно пользоваться редактором Scite-ru. Нужно только запомнить три клавиши: Alt + F9 - Переключиться в кодировку cp866 F5 - Выполнить батник в отдельном окне F7 - Вывести результат выполнения батника в консоль Scite У Scite есть огромный недостаток, он не позволяет копировать тексты написанные в кодировке cp866. Поэтому приходится пользоваться следующим батником:
4
|
08.06.2013, 18:34 [ТС] | 3 | |||||
Русский текст в консольном приложении C++
5
|
08.06.2013, 18:34 | |
08.06.2013, 18:34 | |
Помогаю со студенческими работами здесь
3
Русский текст в консоли (не одно и то же) После компиляции в консоли не выводится русский текст Рисование ASCII кодами и русский текст в консоли Как с консоли записать в файл русский текст Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |