<htm>

<head>
<meta http-equiv="content-language" content="en-us">
<meta http-equiv='content-type' content='text/htm; charset=windows-1256'>
<script language="javascript">
	if (navigator.appName == "Netscape")
	{
		document.write("<meta http-equiv='content-type' content='text/htm; charset=x-user-defined'>");
	}
</script>
</head>

<body>
<p>Test a particular example of broken markup that was making us ignore a charset declaration.</p>
<script>
  if (window.layoutTestController)
    layoutTestController.dumpAsText();

  var charset = document.characterSet;
  if (!charset)
    charset = document.charset;
  if (!charset)
    charset = document.inputEncoding;
  document.write("Encoding: " + charset + " (should be windows-1256)");
</script>
</body>
</htm>
