ACC2000: Converting Database Containing Cyrillic Fonts Causes Text to Be Unreadable (237363)



The information in this article applies to:

  • Microsoft Access 2000

This article was previously published under Q237363
Novice: Requires knowledge of the user interface on single-user computers.

This article applies only to a Microsoft Access database (.mdb).

SYMPTOMS

If you convert a database from Microsoft Access 97 to Access 2000 under the following conditions, the text in the Access 2000 database is unreadable:
  • You convert the database on a computer running an English version of Microsoft Windows.

    -and-
  • The database contains objects that use a Cyrillic font.

CAUSE

In Access 97, Arial Cyrillic is a generated font name that does not actually exist as a separate font. The font is Arial, but nonUnicode applications such as Access 97 display each embedded character set of multicharacter-set fonts as a separate font.

After conversion, Unicode applications such as Access 2000 cannot support the generated font, so the converted Arial and Arial Cyrillic fonts both reference the Arial font. Under Access 2000 Unicode, new characters entered with the Russian keyboard use code page 1251 (Russian) and not 1252 (Western).

RESOLUTION

Because the database in Access 2000 is interpreted using the system code page, you can use the following steps on a Windows NT 4.0 computer to convert the Arial Cyrillic data in Access 97 to Access 2000.
  1. Click Start, point to Settings, and then click Control Panel.
  2. In Control Panel, double-click Regional Settings.
  3. In the Regional Settings box, click Russian.
  4. Click to select the Set as system default locale check box. Note that if you do not check this option, this procedure does not work.
  5. Click OK and let the system restart.
  6. Convert all the affected databases to Access 2000.
  7. Repeat steps 1 through 3, but in step 3 return the system to the default locale, and then restart the computer.

    When you open the converted databases on an English operating system, the databases correctly display the Cyrillic characters.

MORE INFORMATION

Steps to Reproduce Behavior

  1. On a computer running Windows 95 or Windows 98, install multilanguage support.

    For more information about installing multilanguage support, click Help on the Start menu, click the Index tab, type multilanguage in the Type in the keyword to find text box, and then click Display to view the "To install multilanguage support" topic.
  2. Create a new database in Access 97.
  3. Create the following table:
       Table: tblTest
       ----------------------------
       Field Name: pkeyTestID
       Data Type: Autonumber
       Indexed: Yes (No Duplicates)
    
       Field Name: txtTest
       Data Type: Text
       Field Size: 50
       Indexed: No)
    
       Table Properties: Table1
       ------------------------
       PrimaryKey: pkeyTestID
    					
  4. On the Tools menu, click Options.
  5. In the Options dialog box, click the Datasheet tab.
  6. In the Default Font box, click Arial Cyr, and then click OK.
  7. Open the tblTest table in Datasheet view, and using the Character Map, enter data in the txtTest field.
  8. Close the table and the database.
  9. Use a computer that has the Regional Settings option set to English (United States) to convert the database to Access 2000.
  10. Open the tblTest table in Datasheet view.

    Note that the entries in the txtTest field contain incorrect or unintelligible characters. The field does not contain Russian characters as expected.

Modification Type:MinorLast Reviewed:7/16/2004
Keywords:kbprb KB237363