FIX: EDIFACT Parser Cannot Convert DBCS Characters Correctly (303310)



The information in this article applies to:

  • Microsoft BizTalk Server 2000 SP1

This article was previously published under Q303310
IMPORTANT: This article contains information about modifying the registry. Before you modify the registry, make sure to back it up and make sure that you understand how to restore the registry if a problem occurs. For information about how to back up, restore, and edit the registry, click the following article number to view the article in the Microsoft Knowledge Base:

256986 Description of the Microsoft Windows Registry

SYMPTOMS

The Microsoft BizTalk Server 2000 EDIFACT parser cannot convert DBCS characters correctly. If the BizTalk Server EDIFACT parser parses an EDIFACT document that contains DBCS characters, these characters translate as "garbage" characters.

CAUSE

The Microsoft BizTalk Server 2000 EDIFACT parser does not support the use of code pages that can properly convert documents that contain DBCS characters.

RESOLUTION

To resolve this problem, obtain the latest service pack for Microsoft BizTalk Server 2000. For additional information, click the following article number to view the article in the Microsoft Knowledge Base:

299664 INFO: How to Obtain the Latest BizTalk Server 2000 Service Pack

STATUS

Microsoft has confirmed that this is a problem in BizTalk Server 2000. This problem was first corrected in Microsoft BizTalk Server 2000 Service Pack 1a.

MORE INFORMATION

Microsoft BizTalk Server 2000 SP1a updates the EDIFACT parser and serializer to accept a registry key, so that if the EDIFACT document header is UNOA, it will define a code page, other than the default code page, to be used to convert the data. When the @EDIFACTUNOACodepage registry value is added to the set of values that BizTalk Server defines, it has a default value of 0, and when it is set to zero, it uses default behavior. If you set it to some other value, that value is assumed to be the code page to convert the resultant data. The code page change is global. All EDIFACT data passing through that BizTalk Server 2000 computer processes data according to the @EDIFACTUNOACodepage code page. You must manually create this registry entry to allow the EDIFACT parser to use a non-default code page. To do this, perform the following steps:

WARNING: If you use Registry Editor incorrectly, you may cause serious problems that may require you to reinstall your operating system. Microsoft cannot guarantee that you can solve problems that result from using Registry Editor incorrectly. Use Registry Editor at your own risk.
  1. Start Registry Editor (Regedt32.exe).
  2. Locate and click the following key in the registry:

    HKEY_LOCAL_Machine\System\CurrentControlSet\Services\Btssvc

  3. On the Edit menu, click Add Value, and then add the following registry value:

    Value name: @EDIFACTUNOACodepage
    Data type: REG_DWORD
    Radix: Decimal
    Value data: 0 (Default)

  4. Quit Registry Editor.

Modification Type:MajorLast Reviewed:10/17/2003
Keywords:kbBizTalk2000SP1afix kbbug kbfix KB303310