gitee.com/ks-custle/core-gm@v0.0.0-20230922171213-b83bdd97b62c/net/html/charset/testdata/HTTP-vs-UTF-8-BOM.html (about) 1 <!DOCTYPE html> 2 <html lang="en" > 3 <head> 4 <title>HTTP vs UTF-8 BOM</title> 5 <link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'> 6 <link rel='help' href='http://www.w3.org/TR/html5/syntax.html#the-input-byte-stream'> 7 <link rel="stylesheet" type="text/css" href="./generatedtests.css"> 8 <script src="http://w3c-test.org/resources/testharness.js"></script> 9 <script src="http://w3c-test.org/resources/testharnessreport.js"></script> 10 <meta name='flags' content='http'> 11 <meta name="assert" content="A character encoding set in the HTTP header has lower precedence than the UTF-8 signature."> 12 <style type='text/css'> 13 .test div { width: 50px; }</style> 14 <link rel="stylesheet" type="text/css" href="the-input-byte-stream/support/encodingtests-utf8.css"> 15 </head> 16 <body> 17 <p class='title'>HTTP vs UTF-8 BOM</p> 18 19 20 <div id='log'></div> 21 22 23 <div class='test'><div id='box' class='ýäè'> </div></div> 24 25 26 27 28 29 <div class='description'> 30 <p class="assertion" title="Assertion">A character encoding set in the HTTP header has lower precedence than the UTF-8 signature.</p> 31 <div class="notes"><p><p>The HTTP header attempts to set the character encoding to ISO 8859-15. The page starts with a UTF-8 signature.</p><p>The test contains a div with a class name that contains the following sequence of bytes: 0xC3 0xBD 0xC3 0xA4 0xC3 0xA8. These represent different sequences of characters in ISO 8859-15, ISO 8859-1 and UTF-8. The external, UTF-8-encoded stylesheet contains a selector <code>.test div.ýäè</code>. This matches the sequence of bytes above when they are interpreted as UTF-8. If the class name matches the selector then the test will pass.</p><p>If the test is unsuccessful, the characters  should appear at the top of the page. These represent the bytes that make up the UTF-8 signature when encountered in the ISO 8859-15 encoding.</p></p> 32 </div> 33 </div> 34 <div class="nexttest"><div><a href="generate?test=the-input-byte-stream-022">Next test</a></div><div class="doctype">HTML5</div> 35 <p class="jump">the-input-byte-stream-034<br /><a href="/International/tests/html5/the-input-byte-stream/results-basics#precedence" target="_blank">Result summary & related tests</a><br /><a href="http://w3c-test.org/framework/details/i18n-html5/the-input-byte-stream-034" target="_blank">Detailed results for this test</a><br/> <a href="http://www.w3.org/TR/html5/syntax.html#the-input-byte-stream" target="_blank">Link to spec</a></p> 36 <div class='prereq'>Assumptions: <ul><li>The default encoding for the browser you are testing is not set to ISO 8859-15.</li> 37 <li>The test is read from a server that supports HTTP.</li></ul></div> 38 </div> 39 <script> 40 test(function() { 41 assert_equals(document.getElementById('box').offsetWidth, 100); 42 }, " "); 43 </script> 44 45 </body> 46 </html> 47 48