Alter.Org.UA
 << Back Home UK uk   Donate Donate

cp866u patch for ukrainian 'i' in console applications (NT4/w2k/XP)

by savaX@inserv.kiev.ua (remove X)

Sorry, full text is in Russian only

There is well-known Windows problem with Ukrainian letters 'I' and 'i'. They are displayed as question mark ('?') in console applications. But the most annoying thing is that these files cannot be copied with console File Managers, like Far. Proposed patch fixes it.
cp866u.rar
Note, when OEM table was initially designed Ukrainian letters were forgotten. They were added later to table 866. Thus we got two different versions of CP866. Ukrainian characters were added to cp1251 and Unicode tables, but there is a problem with the following chars when running console applications:
cp1251Unicode
0xB20x0406
0xB30x0456
These are Ukrainian letters (I) and (i). cp866 for Windowd 9x/NT/2000/XP doen't have translation. So, these characters are converted to '?' or '_' for console applications. We also get problem when
    1. copying files from NTFS to FAT or vice versa;
    2. when running archivers from command line;
    3. Using NC-like commander (e.g. FAR).
    4. using databases with OEM charset (e.g. 1C use DBASE with cp866).
The problem can be solved by changing translation table
cp866 Unicode oldUnicode new
0xF60x040E 0x0406
0xF70x045E 0x0456

Installation notes
from alterX@alter.org.ua (remove X):

  • Unpack cp866u.rar and run setup.bat, reboot you computer.
  • It is important to run patch on the same partition where WINNT (for NT4/w2k) or WINDOWS (for XP). is located. This requirement comes because extmove.exe utility, that is called by setup.bat, build special list of files to be copied in Registry. Then during boot system copies files itself. That time only Windows system partition is guarranted to be available.
  • Note, just after setup.bat execution language switch bar may disappear from tray. In this case after reboot you sould go to Control Panel->Keyboard->Input Locales and add required languages.

Recomendation for Far users: apply patch for koi8-u and cp1251 tables. See here for details.
And just for funs: mixed Russian+Ukrainian keyboard layout. It contains all letters and signs.

Note: the same problem exists under Wine - Windows emulator for Linux.

See also:


designed by Alter aka Alexander A. Telyatnikov powered by Apache+PHP under FBSD © 2002-2024