The CSSCharsetRule object represents an @charset rule in a CSS style sheet. The @charset rule holds an encoding definition.
The value of the encoding property does not affect the encoding of text data in the DOM objects; this encoding is always UTF-16. After a style sheet is loaded, the value of the encoding property is the value found in the @charset rule. If there was no @charset in the original document, then no CSSCharsetRule object is created. The value of the encoding property may also be used as a hint for the encoding used on serialization of the style sheet.
The value of the @charset rule (and therefore of the CSSCharsetRule object) may not correspond to the encoding the document actually came in; character encoding information, for example, in an HTTP header, has priority but this is not reflected in the CSSCharsetRule.