Prerequisites: The default encoding for the browser you are testing must not be set to ISO 8859-15.

HTTP vs UTF-8 BOM

Test passes if you see green.

Assertion: A character encoding set in the HTTP header has lower precedence than the UTF-8 signature.

Notes:

The HTTP header attempts to set the character encoding to ISO 8859-15. The page starts with a UTF-8 signature.

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 .test div.ýäè. This matches the sequence of bytes above when they are interpreted as UTF-8. If the class name matches the selector then the box will turn green.

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.