CSS 파일에 @charset "UTF-8"을 지정하는 이유는 무엇입니까?
저는 이 지침을 수많은 CSS 파일의 첫 번째 줄로 보고 있습니다.
@charset "UTF-8";
그것은 무엇을 하며, 이 규칙이 필요합니까?
또한, 만약 내가 이 메타 태그를 내 "머리" 요소에 포함시킨다면, 그것이 내 CSS 파일에도 존재할 필요가 없겠습니까?
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
이 기능은 HTTP 헤더 또는 다른 메타데이터(예: 로컬 파일 시스템)별로 인코딩이 전달되지 않는 컨텍스트에서 유용합니다.
다음 스타일시트를 상상해 보십시오.
[rel="external"]::after
{
content: ' ↗';
}
판독기가 파일을 하드 드라이브에 저장하고 당신이 파일을 생략하는 경우@charset
규칙에 따라 대부분의 브라우저는 OS의 로케일 인코딩(예: Windows-1252)으로 읽고 화살표 대신 †를 삽입합니다.
안타깝게도 지원이 거의 없기 때문에 이 메커니즘에 의존할 수 없습니다.그리고 인터넷에서 HTTP 헤더는 항상 다음을 무시한다는 것을 기억하세요.@charset
규칙.
스타일시트의 문자 집합을 결정하는 올바른 규칙은 우선순위에 따라 결정됩니다.
- HTTP Charset 헤더입니다.
- 바이트 순서 표시.
- 첫번째
@charset
규칙. - UTF-8.
마지막 규칙은 가장 약한 것으로, 일부 브라우저에서는 실패합니다.
그charset
의 속성.<link rel='stylesheet' charset='utf-8'>
HTML 5에서는 사용되지 않습니다.
서로 다른 선언 간의 충돌을 주의하십시오.디버깅하기가 쉽지 않습니다.
권장 판독치
- Russ Rolfe: CSS의 문자 인코딩 선언
- IANA: 문자 집합의 공식 이름 - 다른 이름은 허용되지 않습니다. 기본 이름 사용
@charset
동일한 인코딩에 대해 둘 이상의 이름이 등록된 경우. - MDN: . 지원 테이블이 있습니다.나는 이것을 믿지 않습니다.:)
- CSS WG의 테스트 케이스.
이것은 브라우저에게 CSS 파일을 UTF-8로 읽으라고 말합니다.이것은 CSS에 ASCII뿐만 아니라 유니코드 문자가 포함되어 있는 경우에 유용합니다.
메타 태그에서 사용하는 것은 괜찮지만, 해당 메타 태그가 포함된 페이지에 대해서만 가능합니다.
CSS 2에 대한 w3c 사양에서 CSS 파일의 문자 집합 해결 규칙에 대해 읽어보십시오.
텍스트가 포함된 모든 페이지에 문자 집합 사양을 항상 포함하는 한 가지 이유는 사이트 간 스크립팅 취약성을 방지하기 위해서입니다.대부분의 경우 HTML 페이지를 포함한 텍스트에는 UTF-8 문자 집합이 가장 적합합니다.
만약 당신이 당신의 css 파일에 <메타> 태그를 넣고 있다면, 당신은 뭔가를 잘못하고 있는 것입니다.<메타> 태그는 당신의 html 파일에 속하며, 브라우저에 html이 어떻게 인코딩되는지 알려주고, 별도의 파일인 css에 대해서는 아무 말도 하지 않습니다.당신은 html과 css에 대해 완전히 다른 인코딩을 가질 수 있지만, 이것이 좋은 생각이라고는 상상할 수 없습니다.
언급URL : https://stackoverflow.com/questions/2526033/why-specify-charset-utf-8-in-your-css-file
'programing' 카테고리의 다른 글
Android 명령줄 도구 sdkmanager에 항상 표시됨: 경고: 설정을 만들 수 없음 (0) | 2023.08.24 |
---|---|
MySQL PHP - SELECT WHERE ID = array()? (0) | 2023.08.24 |
클래스 전환을 위한 Angular ngClass 및 클릭 이벤트 (0) | 2023.08.24 |
jQuery UI 아코디언은 여러 섹션을 열어두나요? (0) | 2023.08.24 |
최고의 AJAX 트리 보기 (0) | 2023.08.24 |