Войти

Показать полную графическую версию : [решено] Сбилась кодировка командной строки


Страниц : 1 2 [3] 4

Amigos
22-07-2013, 15:15
Такова беда большинства портированных утилит »да и встроенные в windows этим грешат:

C:\Users\vasiliy>nslookup
╤хЁтхЁ яю єьюыўрэш■: server-s.local
Address: 192.168.7.227

а при желании легко смешивает в своём ответе две кодировки одновременно!
C:\Users\vasiliy>nslookup oszone.net
╤хЁтхЁ: server-s.local
Address: 192.168.7.227

Не заслуживающий доверия ответ:
╚ь*: oszone.net
Address: 89.108.118.149

Iska
22-07-2013, 15:20
Во-во, и я про то же. Последний случай, конечно, наиболее фееричный. Как я понимаю, одну строку приложение выводит из своих ресурсов, а другая, возможно, из ресурсов какой-либо библиотеки.

Amigos
22-07-2013, 15:20
"Китайское время (зима)" это же явно текст из виндовс. »Из реестра. Там строчка в unicode.
Программа декодирует unicode в дефолтную кодировку windows. то есть в cp1251.
Ну а консоль работает тоже в дефолтой кодировке. Но уже cp866.
Если дефолтных кодировок целых две штуки и они разные, то кракозябры неизбежны.

Wu-Tang
01-05-2015, 03:26
а не подскажите, какой ключ отвечает за цвет шрифта, тип шрифта и размер, хочу сделать теперь твик.

Iska
01-05-2015, 08:57
цвет шрифта »
Во младшей, первой тетраде байта:
HKEY_CURRENT_USER\Console\ScreenColors
Имейте в виду, что:

в том же параметре в старшей тетраде того же байта задаётся цвет фона;
задаётся не сам цвет, а номер палитры цветов («ColorTable00»-«ColorTable15»);
это лишь первоначальная настройка цветов, даже интерпретатор командной строки может сам управлять цветом вывода («color /?»);
если игрались с настройками «использовать для всех окон с тем же именем» — параметры по умолчанию могут перекрываться параметрами для окна консоли с конкретным именем, например, в подразделе «HKCU\Console\%%SystemRoot%%_system32_cmd.exe».


тип шрифта »
HKEY_CURRENT_USER\Console\FontFamily

и размер »
HKEY_CURRENT_USER\Console\FontSize

P.S. Какое отношение всё это имеет к кодировке?

Wu-Tang
15-08-2015, 06:30
Iska,
я просто не пойму, я настраивал-настраивал, так вот все запускаемые батники идут с зеленым цветов, когда запускаешь cmd через win+r то с другим, и когда с ярлыка в стандартных с третьим.
вот я и запутался, как настроить, чтоб везде было одинаково и без кракозябр.
ps я темы схожей не нашел, поэтому спросил здесь.

Iska
15-08-2015, 08:03
я просто не пойму, я настраивал-настраивал, так вот все запускаемые батники идут с зеленым цветов, когда запускаешь cmd через win+r то с другим, и когда с ярлыка в стандартных с третьим. »
См., например:
если игрались с настройками «использовать для всех окон с тем же именем» — параметры по умолчанию могут перекрываться параметрами для окна консоли с конкретным именем, например, в подразделе «HKCU\Console\%%SystemRoot%%_system32_cmd.exe». »

Wu-Tang
14-12-2015, 02:36
Iska,
спасибо, поигрался, все понял.

senglory
27-11-2016, 20:58
Win 10 x64 Home Edition English, была установлена русская кодирорвка, к-рая показывалась на ура в FAR. Позавчера поставил последнее обновление на винду и слетела кодировка во всех консольных приложениях. В HKCU пробовал прописывать CodePage - без толку. Что делать?

Amigos
27-11-2016, 21:07
Что делать? »Сменить шрифт консоли?

senglory
27-11-2016, 21:36
На какой менять-то?

Сменил на Lucida Console - показалось нормально. Но вот прежний Raster 10x18 - ни в какую. Что с этим делать?

Iska
27-11-2016, 21:44
senglory, а для самой командной строки — как оно?

senglory
27-11-2016, 22:39
Точно так же. Только в Lucida отображается, а в Raster - кракозябры.

Amigos
28-11-2016, 20:06
Только в Lucida отображается » можно использовать и другие векторные шрифты, раз с ними нет проблем

http://i2.imageban.ru/out/2016/11/28/7646a6844a09b190a19624d080636eda.png http://i4.imageban.ru/out/2016/11/28/600c81353bdc03a4bc698ed5225558a3.png http://i3.imageban.ru/out/2016/11/28/3d7afd2917715fc2ec43aaf0d980cfc3.png http://i6.imageban.ru/out/2016/11/28/75fb22be475811720c412857244c958d.png

а в Raster - кракозябры. »На удивление в win10 эта часть поменялась по сравнению с XP, завтра я посмотрю какие там шрифты юзаются.

Iska
28-11-2016, 22:20
Amigos, теперь ещё расскажите товарищу, как добавить туда дополнительные шрифты ;). Или в теме таковое есть?

Consolas токмо чуток покрупнее трэба, мелкие размеры шрифта не его стихия.

Amigos
29-11-2016, 12:02
расскажите товарищу, как добавить туда дополнительные шрифты »для этого нужно проверить работоспособность способа под win10, скрины делались под WinXP

Consolas токмо чуток покрупнее трэба »это же True Type - размер произвольный.

Amigos
29-11-2016, 13:09
расскажите товарищу, как добавить туда дополнительные шрифты » Узнал страшное.
В Win10 не надо никаких твиков реестра, достаточно просто установить моноширинный шрифт с соответствующим уникодным диапазоном символов в систему, и он сам появится в списке

http://i3.imageban.ru/thumbs/2016.11.29/265e3a89f2a42dc8d14530713acf65dd.png (http://imageban.ru/show/2016/11/29/265e3a89f2a42dc8d14530713acf65dd/png)

Iska
30-11-2016, 03:26
это же True Type - размер произвольный. »
Я про скриншот. Увидит человече, разочаруется, не зная, что Consolas в принципе предрасположен к большим размерам и вполне на них смотрибелен.

Узнал страшное. В Win10 не надо никаких твиков реестра, »
Amigos, :)!!! Но это всё равно меня не сподвигнет на переход ;).

madeinussr
01-07-2017, 01:18
То есть, на сколько я понял, точечный шрифт, используемый в консоли по умолчанию, в принципе не может отображать кириллицу в других кодировках кроме ср866. Это тот же шрифт, который в notpad называется Terminal и у него там есть только набор символов OEM/DOS. С этим шрифтом в блокноте можно нормально работать с 866, но другие кириллические кодировки он не понимает. И поэтому при вводе CHCP 1251 в консоли вполне нормально получить непонятный набор букв из разных языковых областей шрифта. То есть шрифт отображает символы кириллицы, но их код не соответствует ср1251 и раскладка клавиатуры становится не стандартной при вводе русских символов - они находятся не на тех клавишах. То же происходит и с сообщениями, выводимыми интерпретатором кириллицей. Некоторые номера символов попадают в область кириллицы, но соответствуют совсем другим символам.

Короче, если у вас в консоли при стоящем по умолчанию точечном шрифте команды CHCP 1251 и CHCP 65001 выводят нечитаемые сообщения, это нормально. Не нужно искать причину этого в реестре или системных настройках или в установленных шрифтах. И если вам необходимо, чтобы кирилица отображалась в консоли в кодировках cp1251 и cp65001 придётся отказаться от шрифта стоящего по умолчанию и выбрать lucida console. Я правильно понял?

Amigos
01-07-2017, 21:24
точечный шрифт, используемый в консоли по умолчанию, в принципе не может отображать кириллицу в других кодировках кроме ср866. »Скажем так.
Точечный шрифт это анохронизм времён Windows 2.0 - Windows 3.1.
И у него … нет кодировки. Совсем нет.
Грубо говоря это набор из 255 маленьких ч/б картинок с нарисованными на них буквами и символами.
В русской windows xp порядок букв на этих картинках совпадает с порядком символов cp866.

Поменять порядок картинок символов в шрифте, расставить их также, как в cp1251 - будет "растровый шрифт, поддерживающий кириллицу в cp1251"

А тот шрифт, что "из коробки" , он да "только cp866"




© OSzone.net 2001-2012