alibek писал(а):Нужно либо ее конвертировать, либо выставлять кодовую страницу 65001
Вы имеете ввиду UTF-8, к сожалению, эта unicode кодировка, в данном случае, не подходит, пробовал... не получилось. К тому же каждый раз перед выполнением командного файла запускать
chcp 866 – это неудобно. Реализовывать всякие bat-ники... тоже, к чему они нам??? Один гемор да и только.
Поэтому извините, но за Сусаниным я не пойду. Мне нужен Александр Македонский и его знаменитый меч, которым мы и разрубим наш гордиев узел.
В общем, если я правильно понимаю, проблема возникла из-за того, что командный процессор использует кодировку cp866 и система поддерживает ее, как DOS наследие, сама же использует кодировку cp1251 - это касательно кириллицы. Одним словом – cmd, ipconfig и прочие... записывают свои отчеты в кодировке 866, а читается потом все это дело, в VB в частности, с кодировкой 1251 вот и выходят кракозыбры...
Значит, что нужно сделать...
Берем топор, ставим перед собой системник и со всего размаху... ... ... а... стоп, стоп... это из другой оперы, я перепутал, извиняюсь... Здесь нужно по-другому... да, извините...
Короче говоря, нужна небольшая правка реестра, вот по этому адресу:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\CodePageв параметре:
OEMCP исправляем значение
866 на
1251. И
перезагружаем компьютер! Это обязательно! Но!.. Как только мы это сделаем, у нас захнычет cmd и покажет нам нечто вроде комбинации из трех пальцев, примерно, такую...
- Screen7.jpg (22.9 Кб) Просмотров: 4103
Поэтому, чтобы исправить бяку... нам понадобится еще одна правка реестра, но уже по адресу:
HKEY_CURRENT_USER\ConsoleЗдесь мы добавим двоичный параметр:
CodePage и укажем
0x00000362, то есть все ту же
866.
Перезагружаться, в данном случае, не обязательно.
Вот теперь полный порядок! Все символы на своих местах...
- Screen8.jpg (24.36 Кб) Просмотров: 4103
Специально для тех, кому лень вставать с дивана, написал патчи в приложении... Можно запустить reg-файл, но все же рекомендую использовать командные пакетники - .cmd
На этом все. Жмите лайк все, кому хоть как-то помог мой пост в решении подобной проблемы.