# Interface CSSCharsetRule

All Superinterfaces:
  `CSSRule`

public interface CSSCharsetRule extends CSSRule
The `CSSCharsetRule` interface represents a @charset rule in a CSS style sheet. The value of the `encoding` attribute does not affect the encoding of text data in the DOM objects; this encoding is always UTF-16. After a stylesheet is loaded, the value of the `encoding` attribute is the value found in the `@charset` rule. If there was no `@charset` in the original document, then no `CSSCharsetRule` is created. The value of the `encoding` attribute 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`) may not correspond to the encoding the document actually came in; character encoding information e.g. in an HTTP header, has priority (see CSS document representation) but this is not reflected in the `CSSCharsetRule`.

See also the Document Object Model (DOM) Level 2 Style Specification.

Since:
  1.4, DOM Level 2

- ## Field Summary

  ### Fields declared in interface CSSRule

  `CHARSET_RULE, FONT_FACE_RULE, IMPORT_RULE, MEDIA_RULE, PAGE_RULE, STYLE_RULE, UNKNOWN_RULE`
  Modifier and Type
  Field
  Description
  `static final short`
  `CHARSET_RULE`
  The rule is a `CSSCharsetRule`.
  `static final short`
  `FONT_FACE_RULE`
  The rule is a `CSSFontFaceRule`.
  `static final short`
  `IMPORT_RULE`
  The rule is a `CSSImportRule`.
  `static final short`
  `MEDIA_RULE`
  The rule is a `CSSMediaRule`.
  `static final short`
  `PAGE_RULE`
  The rule is a `CSSPageRule`.
  `static final short`
  `STYLE_RULE`
  The rule is a `CSSStyleRule`.
  `static final short`
  `UNKNOWN_RULE`
  The rule is a `CSSUnknownRule`.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `String`
  `getEncoding()`
  The encoding information used in this `@charset` rule.
  `void`
  `setEncoding(String encoding)`
  The encoding information used in this `@charset` rule.

  ### Methods declared in interface CSSRule

  `getCssText, getParentRule, getParentStyleSheet, getType, setCssText`
  Modifier and Type
  Method
  Description
  `String`
  `getCssText()`
  The parsable textual representation of the rule.
  `CSSRule`
  `getParentRule()`
  If this rule is contained inside another rule (e.g. a style rule inside an @media block), this is the containing rule.
  `CSSStyleSheet`
  `getParentStyleSheet()`
  The style sheet that contains this rule.
  `short`
  `getType()`
  The type of the rule, as defined above.
  `void`
  `setCssText(String cssText)`
  The parsable textual representation of the rule.

- ## Method Details

  - ### getEncoding

    String getEncoding()
    The encoding information used in this `@charset` rule.

  - ### setEncoding

    void setEncoding(String encoding) throws DOMException
    The encoding information used in this `@charset` rule.
    Throws:
      `DOMException` - SYNTAX_ERR: Raised if the specified encoding value has a syntax error and is unparsable.
      NO_MODIFICATION_ALLOWED_ERR: Raised if this encoding rule is readonly.