Показать полную графическую версию : [решено] Сбилась кодировка командной строки
Petya V4sechkin
30-01-2011, 07:58
попытка открыть t.txt принудительно в кодировке 866, используя notepad\wordpad - безуспешна
Варианты:
воспользоваться редакторами с поддержкой DOS-866 (типа AkelPad (http://akelpad.sourceforge.net/ru/), Bred 2 (http://www.astonshell.ru/freeware/bred2/), TigerPad (http://www.dimonius.ru/?tigerpad) и т. д.);
добавить в батник команду chcp 1251
chcp 1251
dir > t.txt
тогда файл получится в кодировке Win-1251, и вы сможете открыть его обычным блокнотом.
как изменить дефолтный chcp консоли?
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\CodePage - параметр OEMCP стоит 866
Ветки HKCU\Console\%%SystemRoot%%_system32_cmd.exe не существует
Petya V4sechkin
07-01-2012, 21:53
Owyn, удалите параметр CodePage в ветке HKEY_CURRENT_USER\Console
Petya V4sechkin, параметра CodePage в ветке HKEY_CURRENT_USER\Console не существует.
Petya V4sechkin
07-01-2012, 22:15
Owyn, где-то он существует.
Petya V4sechkin, в
HKEY_USERS\.DEFAULT\Console CodePage стоит 1251 но его смена ничего не дает
HKEY_USERS\S-1-5-18\Console еще есть CodePage но он стоит в 866
Больше нигде в реестре нету параметра CodePage
удалите параметр CodePage в ветке HKEY_CURRENT_USER\Console »
Ок, создал параметр CodePage со значением 866 в ветке HKEY_CURRENT_USER\Console, помогло :)
Ни один из вариантов не отработал.
Помогла смена типа шрифта с "точечные" на любой другой из возможных двух.
Искать здесь: Запустить CMD -> ПКМ по рамке окна -> Свойства -> Шрифт.
OS Windows 7. На WinXP думаю так-же.
значит хитро убиты *.fon. однако.
…из возможных двух. »
Это не предел: Necessary criteria for fonts to be available in a command window (http://support.microsoft.com/kb/247815/en-us).
Это не предел: Necessary criteria for fonts to be available in a command window. »
Кстати, не поделитесь какими-либо кроме:
Andale Mono
Bitstream Vera Mono
Consolas
Courier New
DejaVu Sans Mono
Хочется расширить наборчик в коллекции :)
Я не сильно большой любитель коллекционировать, свои потребности я покрыл, в основном, за счёт «Consolas» и «PT Mono». В ряде случаев из-за особенностей связки «видеокарта-драйвер-физическое разрешение монитора-установленное логическое разрешение экрана» использовал также шрифты «Andale Mono» и «DejaVu Sans Mono». Так что, я Вам в этом, увы, не помощник.
В принципе, можете порыться в этой теме: Шрифты для Far (http://forum.farmanager.com/viewtopic.php?f=3&t=1160); там куча ссылок и описаний разнообразных шрифтов, причём не только контурных, но и вполне качественных растровых шрифтов.
Кстати, не поделитесь какими-либо кроме:
Andale Mono
Bitstream Vera Mono
Consolas
Courier New
DejaVu Sans Mono »
TrueType
тут всё просто
моноширинных шрифтов с русскими глифами и прописанной кодировкой Cp866 немного : дефолтный в Win9X Courier New
Andale Mono (идёт в составе Ms Office) http://tools.oszone.ru/Amigos/dos-font-1-andale-mono.png
Anonymous Pro (свободный шрифт) http://tools.oszone.ru/Amigos/dos-font-2-anonimus-pro.png
Consolas (идёт в составе Ms Office) http://tools.oszone.ru/Amigos/dos-font-3-consolas.png
Lucida Console дефолтный в Win2k и выше http://tools.oszone.ru/Amigos/dos-font-5-Lucida-Console.png
PT Mono(свободный шрифт, сделанный и распространяемый Паратайпом (http://fonts.ru/public/) )http://tools.oszone.ru/Amigos/dos-font-6-PT-Mono.png чтобы получить это всё у себя, нужно установить вышеназванные шрифты и добавить твик
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Console\TrueTypeFont]
"0"="Lucida Console"
"00"="Anonymous Pro"
"000"="Courier New"
"0000"="Andale Mono"
"00000"="Consolas"
"000000"="PT Mono"
TrueType
тут всё просто »
Спасибо за паратайп и анонимус.
CP866 меня слабо интересует :) ибо лечится chcp если сильно надо.
Меня скорее интересует их Юникодно-наполненность.
1swindler1
01-01-2013, 23:58
Всем привет! У меня проблема та же.
В реестре в ветке HKLM\SYSTEM\CurrentControlSet\Control\Nls\CodePage параметр OEMCP=437 (а должно быть 866),
Что это может значить
У меня XP rus в консоли русские буквы нормально при вводе и вверху окна:
Microsoft Windows XP [Версия 5.1.2600]
(С) Корпорация Майкрософт, 1985-2001.
а вот ниже, вывод данных из программ кракозябрами часто идет
2013-07-21 08:30 ¦шЄрщёъюх тЁхь* (чшьр)
Декодер кракозябр выдает что это
2013-07-21 08:30 ¦итайское врем* (зима)
Как нам пришлось помучиться
CP866 → CP1251
Шрифты менял, их там всего два почему-то.
HKEY_CURRENT_USER\Console параметр CodePage параметр отсутствует.
команда chcp выдает 866
Получается тут как в браузере если есть текст в разных кодировках на одной странице, не все браузеры нормально переваривают. Как это поправить?
Artell, некоторые утилиты сделаны так, что делают вывод исключительно в одной, жёстко заданной разработчиком, кодировке. И далеко не всегда это OEM/866.
а вот ниже, вывод данных из программ кракозябрами часто идет »
Каких именно программ?
У меня XP rus »
перенес. Читайте тему.
Каких именно программ? »
Точно не уверен, но кажется те утилиты, которые раньше выводили нормально русский текст.
Например ncrack (http://nmap.org/ncrack/dist/ncrack-0.4ALPHA-setup.exe) выдает в моем примере выше по команде
ncrack -v --user root localhost:22
"Китайское время (зима)" это же явно текст из виндовс. Когда он успевает кодировку попутать?
Artell, не знаю, как раньше у Вас, но у меня нынче:
C:\Песочница\023>ncrack -v --user root localhost:22
Starting Ncrack 0.4ALPHA ( http://ncrack.org ) at 2013-07-22 14:59 ╠юёъютёъюх тЁхь* (чшьр)
Естественно, если выполнить «chcp 1251», то вывод становится нормален:
C:\Песочница\023>chcp 1251
C:\Песочница\023>ncrack -v --user root localhost:22
Starting Ncrack 0.4ALPHA ( http://ncrack.org ) at 2013-07-22 15:00 Московское время (
зима)
Такова беда большинства портированных утилит: в большинстве случаев их авторы знать ничего не хотят о каких-то там иностранцах и их бедах с кодировками.
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.