Jeśli jesteś właścicielem tej strony, możesz wyłączyć reklamę poniżej zmieniając pakiet na PRO lub VIP w panelu naszego hostingu już od 4zł! Do you want to support owner of this site? Click here and donate to his account some amount, he will be able to use it to pay for any of our services, including removing this ad.
Po polsku

Adding ISO-8859-13 support to Windows 2000

The first Microsoft operating system with ISO-8859-13 support is Windows XP SP2. It means that the first Outlook Express version that supports this encoding is 6 SP2 (SP2 for IE and OE is a part of SP2 for XP and is not available for older Windows versions). While it is possible to manually change encoding to Windows-1257 (Windows Baltic, this encoding is a near exact superset of ISO-8859-13), it is a bit awkward. Experiments have shown that it is possible to add partial support for this encoding to Windows 2000.

Adding support for ISO-8859-13 requires making some changes to the system registry. They pose no danger to the system provided they are done correctly but I strongly advise you to update your emergency repair disk and make sure you know how to use it. Thanks to these changes you will get partial support for ISO-8859-13 in IE 6 SP1 (tested with version 6.0.2800.1106) and OE 6 SP1 (tested with version 6.00.2800.1807)—IE is able to display correctly all extended characters on web pages using this encoding (provided it was correctly declared), OE is able to display correctly all extended characters in messages using this encoding (provided it was correctly declared) and to reply using ISO-8859-13 to a message that was encoded using this encoding. However there is no possibility to manually change encoding to ISO-8859-13 in any of these programs. As a bonus, it is also possible to use this encoding in the console. In the MS parlance, this encoding is confusingly called “Estonian (ISO)” even though in Estonia the Western European ISO-8859-1 encoding is used more often (Estonian is not a Slavonic language, rather it is related to Finnish). Usually this encoding is called “Baltic” or “Baltic Rim”, it is an official encoding in Lithuania (Government standard LST ISO/IEC 8859-13).

You will need to get a c_28603.nls file. This file is included in the installer of the ReactOS link to external site—an open-source operating system that can be downloaded and used by anybody for any purpose. Another source of this file is the Windows XP SP2 setup program or the SP2 (please remember that if you just download this file from the internet or copy it from your friend’s machine, you will be braking the law). You will also need to make some simple changes to the registry.

  1. The above-mentioned file should be placed in the %windir%\system32 folder. Typically, it will be a c:\winnt\system32 location. In this folder you will find other files with similar names, including c_1252.nls, c_28591.nls and c_28605.nls.
  2. Open the Registry Editor and go to key HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\CodePage. In there you may find an empty string (REG_SZ) named 28603, if not, create new string and change its name. Then modify the string giving it value c_28603.nls (name of the file mentioned previously),
  3. Go to key HKEY_CLASSES_ROOT\MIME\Database\Charset and create a new key named iso-8859-13. In the newly created key create two new hexadecimal entries (REG_DWORD), one of which named Codepage with value of 0x000004e9 (1257 in decimal), second one named InternetEncoding with value of 0x00006fbb (28603 in decimal),
  4. You can optionally make in the same key (HKEY_CLASSES_ROOT\MIME\Database\Charset) new key named latin7, in which you can create just one string (REG_SZ) named AliasForCharset with value of iso-8859-13,
  5. The last key is named HKEY_CLASSES_ROOT\MIME\Database\Codepage. In it you create a key named 28603, in this newly created key you create four entries:
    string (REG_SZ) named BodyCharset with value of iso-8859-13,
    string (REG_SZ) named Description with value of Estonian (ISO),
    hexadecimal value (REG_DWORD) named Family with value of 0x000004e9 (1257 in decimal),
    binary value (REG_BINARY) named Level with value of 01 03 00 00.

Below you can find contents of a .reg file that will automatically add all the enties above. You may copy it all to Notepad (do not omit the empty lines at the end, otherwise it won’t work), save it with a .reg extension and double-click it.

Here’s illustration: Screenshot of IE 6 SP1 displaying a web page encoded in ISO-8859-13, with charset selection menu, screenshot of OE 6 SP1 displaying an e-mail encoded in ISO-8859-13. OE’s title bar shows encoding used.

It is possible that the procedure described above can be applied to Windows NT4 and Windows 2003 Server but I am unable to test it. I give no guarantees whatsoever about the procedure described above. I have tested the procedure and encountered no problems but I accept no responsibility for any problems, loss of stability, loss of data, etc. Any breach of law due to unlicensed use of the c_28603.nls file taken from Windows XP is the sole responsibility of the person using the file.

After applying all the changes described above it is possible to change encoding used by console in windowed mode: just type CHCP 28603.

As an aside, it is also possible, using the above described method with small modifications, to add the ISO-8859-16 to encodings supported by the console window. The MS code for the encoding is 28606, the required file’s name is c_28606.nls and only the registry entry relating to the key HKLM\…\NLS\CodePage is required. The command to change console encoding to ISO-8859-16 is CHCP 28606. This addition will not result in adding support for this encoding to IE or OE, though.

The procedure was tested on Windows 2000 SP4 English, all updates current as of November 2006, IE 6 SP1 6.0.2800.1106 and OE 6 SP1 6.00.2800.1807.