Help and Support

Article ID: 949793 - Last Review: May 13, 2008 - Revision: 2.0

Applications may not observe regional settings or may not start when they use a Unicode-only locale

Expand all | Collapse all

SYMPTOMS

Applications that are built with a new dependency on the Visual C++ Runtime Library version 7.0, the Visual C++ Runtime Library version 7.1, the Visual C++ Runtime Library version 8.0, or the Visual C++ Runtime Library version 9.0 may not correctly observe regional settings. Or, these applications may not start when they are configured to use the default code page of a Unicode-only locale.

To view a list of locales that are supported in Windows, visit the following Microsoft Web site:
http://msdn2.microsoft.com/en-us/library/ms776260.aspx (http://msdn2.microsoft.com/en-us/library/ms776260.aspx)
The locales that are listed as Unicode only in the "ANSI code page" column do not have a corresponding ANSI code page. Some software that uses the CRT for managing locale-specific will not accept these locales. This currently applies to the following locales.
Collapse this tableExpand this table
Locale identifierLocaleLocale nameScript tag
0x045e Amharic (Ethiopia) am-ETEthi
0x042b Armenian (Armenia) hy-AMArmn
0x044d Assamese (India) as-INBeng
0x0445 Bengali (India) bn-INBeng
0x0465 Divehi (Maldives) dv-MVThaa
0x0437 Georgian (Georgia) ka-GEGeor
0x0447 Gujarati (India) gu-INGujr
0x0439 Hindi (India) hi-INDeva
0x045d Inuktitut (Canada) iu-Cans-CACans
0x044b Kannada (India) kn-INKnda
0x0453 Khmer (Cambodia) kh-KHKhmr
0x0457 Konkani (India) kok-INDeva
0x0454 Lao (Lao PDR) lo-LALaoo
0x044c Malayalam (India) ml-INMlym
0x044e Marathi (India) mr-INDeva
0x0850 Mongolian (PRC) mn-Mong-CNMong
0x0461 Nepali (Nepal) ne-NPDeva
0x0448 Oriya (India) or-INOrya
0x0446 Punjabi (India) pa-INGuru
0x044f Sanskrit (India) sa-INDeva
0x045b Sinhala (Sri Lanka) si-LKSinh
0x045a Syriac (Syria) syr-SYSyrc
0x0449 Tamil (India) ta-INTaml
0x044a Telugu (India) te-INTelu
0x0851 Tibetan (Bhutan) bo-BTTibt
0x0451 Tibetan (PRC) bo-CNTibt
0x0478 Yi (PRC) ii-CNYiii
This may cause the program to fail on startup, or behave unpredictably in user interfaces where localization is relevant.

CAUSE

This problem occurs because there is no ANSI code page for these locales and some software in the CRT relies on an ANSI code page to function correctly. If a Unicode-only user locale or user interface language is specified in the regional or language settings, and an application tries to use this locale, some functions offered by the CRT will fail.

WORKAROUND

If you are the developer of an application that is experiencing this problem, and you want your application to support these locales, work around this problem by modifying your application to use Unicode instead of the legacy ANSI codepage-based locales.

If you are an end-user of such an application, and you want to work around this problem until the application vendor makes this change, you must change the Standards and formats setting in the Regional and Language Options Control Panel item.

STATUS

Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the "Applies to" section.

MORE INFORMATION

For more information about locales, visit the following Microsoft Web site:
http://msdn2.microsoft.com/en-us/library/wyzd2bce.aspx (http://msdn2.microsoft.com/en-us/library/wyzd2bce.aspx)
For more information about configurable language and cultural settings, visit the following Microsoft Web site:
http://www.microsoft.com/globaldev/reference/localetable.mspx (http://www.microsoft.com/globaldev/reference/localetable.mspx)
For the answers to some frequently asked question about locales, visit the following Microsoft Web site:
http://msdn2.microsoft.com/en-us/goglobal/bb688174.aspx (http://msdn2.microsoft.com/en-us/goglobal/bb688174.aspx)
For more information, click the following article number about how locales may affect your application to view the article about how locales may affect your application in the Microsoft Knowledge Base:
258047  (http://support.microsoft.com/kb/258047/ ) INFO: Which locale determines how my application is presented?

APPLIES TO
  • Windows Server 2008 Datacenter without Hyper-V
  • Windows Server 2008 Enterprise without Hyper-V
  • Windows Server 2008 for Itanium-Based Systems
  • Windows Server 2008 Standard without Hyper-V
  • Windows Server 2008 Datacenter
  • Windows Server 2008 Enterprise
  • Windows Server 2008 Standard
  • Windows Vista Enterprise 64-bit Edition
  • Windows Vista Home Basic 64-bit Edition
  • Windows Vista Home Premium 64-bit Edition
  • Windows Vista Ultimate 64-bit Edition
  • Windows Vista Business
  • Windows Vista Business 64-bit Edition
  • Windows Vista Enterprise
  • Windows Vista Home Basic
  • Windows Vista Home Premium
  • Windows Vista Starter
  • Windows Vista Ultimate
  • Microsoft Windows Server 2003, Datacenter Edition (32-bit x86)
  • Microsoft Windows Server 2003, Datacenter Edition for Itanium-Based Systems
  • Microsoft Windows Server 2003, Datacenter x64 Edition
  • Microsoft Windows Server 2003, Enterprise x64 Edition
  • Microsoft Windows Server 2003, Enterprise Edition (32-bit x86)
  • Microsoft Windows Server 2003, Enterprise Edition for Itanium-based Systems
  • Microsoft Windows Server 2003, Standard x64 Edition
  • Microsoft Windows Server 2003, Standard Edition (32-bit x86)
  • Microsoft Windows XP Home Edition
  • Microsoft Windows XP Professional
  • Microsoft Windows 2000 Advanced Server
  • Microsoft Windows 2000 Datacenter Server
  • Microsoft Windows 2000 Professional Edition
  • Microsoft Windows 2000 Server
Keywords: 
kbexpertiseinter kbtshoot kbprb KB949793

Article Translations