ACC2000: Unexpected Characters Appear When You Convert Databases That Have Non-U.S. English Characters

ID: Q202479


The information in this article applies to:

Advanced: Requires expert coding, interoperability, and multiuser skills.

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

IMPORTANT: This article contains information about editing the registry. Before you edit the registry, make sure you understand how to restore it if a problem occurs. For information about how to do this, view the "Restoring the Registry" Help topic in Regedit.exe or the "Restoring a Registry Key" Help topic in Regedt32.exe.

SYMPTOMS

When you convert a Microsoft Access 2.0, 95, or 97 database that contains foreign language-specific characters to Access 2000, unexpected characters appear in the converted database.


CAUSE

Earlier versions of Microsoft Access use ANSI code pages to represent foreign language symbols. When you convert a database to Access 2000 (Jet 4.0), all data is converted to Unicode. This requires that the data be mapped from ANSI code pages to Unicode.

To determine which ANSI code page to use in the mapping process, the Jet database engine uses the code page of the operating system on which you are converting the database.

If the code page of your operating system is U.S. English (1252), Jet maps the foreign language-specific characters by using the U.S. English code page. Using the U.S. English code page during the conversion process of a database with foreign language-specific characters causes incorrect characters to appear in your converted database.


RESOLUTION

Convert databases that contain foreign language-specific characters on an operating system that uses the code page of the foreign language in question.

When necessary, however, you can add two entries to your computer's registry to force the Jet database engine to use a specific code page when it converts a database.

WARNING: Using Registry Editor incorrectly can cause serious problems that may require you to reinstall your operating system. Microsoft cannot guarantee that problems resulting from the incorrect use of Registry Editor can be solved. Use Registry Editor at your own risk.

For information about how to edit the registry, view the "Changing Keys and Values" Help topic in Registry Editor (Regedit.exe) or the "Add and Delete Information in the Registry" and "Edit Registry Data" Help topics in Regedt32.exe. Note that you should back up the registry before you edit it. If you are running Windows NT, you should also update your Emergency Repair Disk (ERD).

To add the appropriate registry keys to your computer and convert your database, follow these steps:

  1. Open Registry Editor (regedit.exe).


  2. Add the following string values to the registry keys:


  3. Key name Value name Value type Value data
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\4.0\Engines\Jet3.x ForceCP String Code Page Number (Example: 1252)
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\4.0\Engines\Jet2.x ForceCP String Code Page Number (Example: 1252)

  4. Close Registry Editor.


To convert your Access database, follow these steps:
  1. Quit Access 2000.


  2. Reopen Access 2000, and then open the database that you want to convert.


  3. When prompted, convert your database.

    WARNING: After you have successfully converted the database, remove the registry keys that you added earlier. If you do not do so, all the databases that you convert in the future will be converted with the code page that you specified in the registry.


Additional query words: OFF2000 prb


Keywords          : kbdta CnvErtbl 
Version           : WINDOWS:2000
Platform          : WINDOWS 
Issue type        : kbprb 

Last Reviewed: August 3, 1999