Q: Не могу до конца справиться с проблемой русской кодировки в Windows 2000. Региональные установки поменял, но остается проблема с чтением русского текста в FAR, да и DOS-программы никак не хотят показывать русские буквы.
Есть ли в W2K утилита типа msconfig.exe - чтобы поменять "досовскую" кодировку? Или надо еще что-нибудь сделать? Почти все "виндовые" программы работают нормально с русскими буквами. Почти - потому, что иногда некоторые программы имеют не русский, а абракадабристый интерфейс.
Часто часть интерфейса читаема - русские буквы, а часть интерфейса, например меню, - нет.
A: Есть ряд вопросов, которые не просто часто задаваемые (FAQ), а очень часто задаваемые (VFAQ), ваш - один из последних. Итак, это известная проблема сожительства кириллицы и Windows NT / 2000. Можно попробовать ее исправить по этой инструкции: для начала Control Panel > Regional Options.
На закладке General, в разделе "Settings for the current user" поставьте Russian, а в "Language settings for the system" - Cyrillic и установите его как default-шрифт. Откроется окно "Select System Locale", в котором тоже необходимо выставить Russian.
Если не помогло, то в редакторе реестра откройте ветвь HKEY_LOCAL_
MACHINE\SOFTWARE\Microsoft\WindowsNT\
CurrentVersion\FontSubstitutes и исправьте параметры шрифта, "отвечающего" за окна с "иероглифами":
"MS Shell Dlg"="MS Sans Serif",
"MS Shell Dlg 2"="MS Sans Serif"
на
"MS Shell Dlg"="MS Sans Serif,204",
"MS Shell Dlg 2"="MS Sans Serif,204"
либо на
"MS Shell Dlg"="Lucida Sans Unicode",
"MS Shell Dlg 2"="Lucida Sans Unicode".
Для других шрифтов тоже можно выбрать кириллическое подмножество, по аналогии дописав к ним цифры "204". Также в ветви HKEY_
LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsNT\
CurrentVersion\FontMapper установите:
"ARIAL"=dword:000000cc,
"DEFAULT"=dword:000000cc
- и, наконец, в ветви: HKEY_LOCAL_MACHINE\
SYSTEM\CurrentControlSet\Control\Nls\CodePage пропишите
"1251"="C_1251.NLS",
"1252"="C_1251.NLS",
"866"="C_866.NLS",
"ACP"="1251",
"OEMCP"="866",
"MACCP"="10007",
"OEMHAL"="vga866.fon",
@="C_1251.NLS".
После изменений следует перезагрузить Windows.
Если с DOS-приложениями по-прежнему проблемы, то вставьте в файл C:\Winnt\
System32\autoexec.nt вызов какого-нибудь русификатора или команду "kb16 ru,866,
c:\Winnt\System32\keyboard.sys" а в разделе реестра HKEY_LOCAL_MACHINE\SYSTEM\
CurrentControlSet\Control\KeyboardLayout\DosKeybCo des измените значение параметра "00000409" на "ru".