BUG: You Cannot View HTML Help Files When Special Characters Appear in Your Username (307823)



The information in this article applies to:

  • the operating system: Microsoft Windows XP

This article was previously published under Q307823

SYMPTOMS

When you view HTML Help .chm files either on a computer running a localized version of Windows XP or on a computer running Windows XP with the MultiLanguage User Interface Pack (MUI), you may experience one of the following:
  • For every topic that you try to view, you receive the following error message:
    'xmldoc.documentElement' is null or not an object
  • An application error occurs in Hh.exe.

CAUSE

This behavior occurs when the Language for non-Unicode programs setting and the Menus and Dialogs Language setting do not match. You can set these options in Regional Options in Control Panel.

HTML Help and its supporting files are not written to use Unicode strings. When these files receive a Unicode string, they use the language that is set in Language for non-Unicode programs (also called the system language) to convert the string to a non-Unicode string. To convert the string back to Unicode later, HTML Help and its supporting files use the language that is set in Menus and Dialogs Language (also called the user language). If the string contains any characters that do not belong to both languages, the character conversion fails.

The errors that are described in the "Symptoms" section occur under the following conditions:
  • HTML Help uses the Temporary Internet Items folder in the Microsoft Internet Explorer folder when displaying help topics. If the path to the folder includes a user name that contains characters that are not in the system language, the Unicode/Non-Unicode conversion fails, which causes a script error.
  • HTML Help uses the TEMP environment variable when it builds a keyword index. If the TEMP variable has a user name in the path, and the user name has characters that are not in the system language, the Unicode/Non-Unicode conversion fails, which can cause an application error.

RESOLUTION

To work around the first problem, do one of the following:
  • Change the Language for non-Unicode programs setting to the same language as the user name.
  • Change the user name so that it contains only simple characters (such as ASCII characters).
  • Change the Temporary Internet Items folder so that the path contains only characters that are included in the language that is set in Language for non-Unicode programs.
To work around the second problem, use a TEMP environment variable to point to a path that contains only characters that are included in the language that is set in Language for non-Unicode programs.

STATUS

Microsoft has confirmed that this is a bug in the Microsoft products that are listed at the beginning of this article.

Modification Type:MajorLast Reviewed:10/15/2002
Keywords:kbBug kberrmsg KB307823