<html>
<head>
		<title>
Yahoo! Mail - someone@yahoo.com</title>
</head>
<body>

<div id=yiv1034332614><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html
><head><meta http-equiv="content-type"
 content="text/html; charset=UTF-8"/></head>

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

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