@charset

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

@charset CSS at-규칙은 스타일 시트에 쓰이는 문자 인코딩을 지정합니다. 스타일 시트의 첫 번째 요소여야 하며 어떤 문자가 선행되지 않아야 합니다; 중첩된 문이 아니기에, 조건부 그룹 at-규칙 내에 사용될 수 없습니다. 여러 @charset at-규칙이 정의된 경우, 첫 번째 것만 사용되고 HTML 요소의 style attribute 또는 HTML 페이지의 문자 집합과 관련 있는 <style> 요소 내에서 사용될 수 없습니다.

css
@charset "utf-8";

이 at-규칙은 content처럼 일부 CSS 속성(property)에서 비 ASCII 문자를 사용할 때 유용합니다.

스타일 시트의 문자 인코딩을 정의하는 여러 방법이 있기에, 브라우저는 다음과 같은 순서로 다음 방법을 시도합니다( 그리고 하나가 결과를 산출하자 마자 곧 멈춥니다):

  1. 파일의 시작 부분에 놓이는 Unicode byte-order 문자값.
  2. Content-Type: HTTP 헤더의 charset attribute 또는 스타일 시트를 제공하는 데 쓰이는 프로토콜 등가물에 주어진 값.
  3. @charset CSS at-규칙.
  4. 참조하는 문서에 의해 정의된 문자 인코딩 사용: <link> 요소의 charset attribute. 이 메서드는 HTML5에서 폐기(obsolete)되어 사용해서는 안됩니다.
  5. 문서가 UTF-8이라고 가정

구문

@charset "UTF-8";
@charset 'iso-8859-15';

where:

charset

사용되는 문자 인코딩을 나타내는 <string>입니다. IANA-registry에 정의된 웹 안전 문자 인코딩의 이름이어야 합니다. 여러 이름이 인코딩과 관련된 경우, preferred로 표시된 것만 사용되어야 합니다.

형식 구문

Error: could not find syntax for this item

예제

css
@charset "UTF-8"; /* 스타일 시트의 인코딩을 Unicode UTF-8로 설정 */
@charset 'iso-8859-15'; /* 스타일 시트의 인코딩을 Latin-9 (서유럽어, euro sign 있는) 로 설정 */
 @charset "UTF-8"; /* 무효한, at-규칙 앞에 문자(공백)가 있음 */
@charset UTF-8; /* 무효한, ' 또는 " 없는 문자집합 CSS <string>이 아님 */

명세

Specification
CSS Syntax Module Level 3
# at-ruledef-charset

브라우저 호환성

Report problems with this compatibility data on GitHub
desktopmobile
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
@charset

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support
See implementation notes.