Knowledge Base

FIX: Fragment Identifiers Ignored for Links on UTF-8 pages

Article ID: 182501

Article Last Modified on 7/24/2001


APPLIES TO


This article was previously published under Q182501

SYMPTOMS

Hyperlinks that use fragment identifiers ("#fragment") on the URL to identify a specific location in the target resource will fail in Microsoft Internet Explorer 4.0, 4.01 (4.0x) for UTF-8 pages, sometimes with the following error message:
Internet Explorer cannot open the Internet site <garbage>.
Make sure the address is correct and try again."

CAUSE

Internet Explorer 4.0x parses URLs with embedded "#" symbols incorrectly for the UTF-8 code page.

RESOLUTION

The only available workaround at this time is to use an alternative character set (charset).

STATUS

Microsoft has confirmed that this is a bug in the Microsoft products that are listed at the beginning of this article. This bug was corrected in Microsoft Internet Explorer 5.

MORE INFORMATION

The following HTML demonstrates the problem:
<HTML>
<HEAD>
  <META http-equiv="Content-Type" content="text/html; charset=utf-8">
  <TITLE>Repro of UTF-8 Fragment Failure Bug</TITLE>
</HEAD>
<BODY>
  <A HREF="#subloc1">Jump down</A>
  <!-- ... bunch of BR's ... -->
  <A NAME=subloc1>Many lines down</A>
</BODY>
</HTML>
				
Activating the hyperlink in this document generates the symptoms described in this article--nothing happens or an error message box is shown. With the correct behavior, Internet Explorer should scroll the document down to the sub-location within the document.

In Internet Explorer 4.0x, a page can be specified as UTF-8 in multiple ways such as the following:
  • With a META tag in the HTML document (as demonstrated above)
  • Via HTTP Content-Type header added by CGI EXE or ISAPI DLL
  • By specifying a default charset in the Internet Explorer Fonts Dialog
All methods result in the bug described in this article.

REFERENCES

HTML 4.0 RFC 1866, subsection 7.4:


Additional query words: hash bookmark #

Keywords: kberrmsg kbbug kbfix kbintl kbie500fix kbintldev KB182501