이것은 한동안 나를 혼란스럽게했습니다. 웹 개발에서 사실상의 표준으로 UTF-8이 등장함에 따라 어떤 상황에서 HTML 엔티티를 사용해야하는지, 어떤 상황에서 UTF-8 문자를 사용해야하는지 잘 모르겠습니다. 예를 들면
- 전각 대시 (–,
&emdash;
) - 앰퍼샌드 (&,
&
) - 3/4 분수 (¾,
¾
)
이 문제에 대해 조명 해주십시오. 감사하겠습니다.
이것은 한동안 나를 혼란스럽게했습니다. 웹 개발에서 사실상의 표준으로 UTF-8이 등장함에 따라 어떤 상황에서 HTML 엔티티를 사용해야하는지, 어떤 상황에서 UTF-8 문자를 사용해야하는지 잘 모르겠습니다. 예를 들면
&emdash;
)&
)¾
)이 문제에 대해 조명 해주십시오. 감사하겠습니다.
답변:
편집기가 유니 코드를 지원하는 경우 일반적으로 HTML 문자 엔티티를 사용할 필요가 없습니다. 엔티티는 다음과 같은 경우에 유용 할 수 있습니다.
코드는 해당 공백 문자보다 명확합니다.<
, &
또는 "
.
Firefox가 U + 00A0을 형식에서 U + 0020으로 변환하기 때문에 Wikipedia는 여전히 실제 공백 문자 대신에 요구 합니다. 따라서이 경우 엔티티를 사용하는 것이 Firefox 사용자가 소스를 편집 할 때마다 소스가 엉망이되지 않도록하는 유일한 방법입니다.
<
종종 이스케이프가 필요하지 않으며 절대로 필요 하지 않습니다 >
( "
드물게 속성 값 내부에서만 이스케이프가 필요함).
&
항상 &
? 대신 사용해야합니다 . 그 이유가 있습니까?
받은 댓글을 바탕으로 좀 더 살펴 보았습니다. 현재 가장 좋은 방법은 HTML 엔티티를 사용하지 않고 대신 실제 UTF-8 문자를 사용하는 것 같습니다 . 나열된 이유는 다음과 같습니다.
페이지의 인코딩이 UTF-8로 올바르게 설정되어 있다면 HTML 엔티티 대신 실제 문자를 사용해야합니다. 이 주제에 대한 여러 문서를 읽었지만 가장 도움이 된 것은 다음과 같습니다.
로부터 문자 인코딩의 비밀 : UTF-8 기사 :
Wikipedia는 원래 ISO-8859-1을 사용했지만 외국어를 지원하기에는 너무 번거로워 졌을 때 UTF-8로 전환 한 애플리케이션에 대한 훌륭한 사례 연구입니다. 봇은 이제 실제로 기사를 살펴보고 사용자 편의성과 검색 가능성을 위해 캐릭터 엔티티를 해당 실제 캐릭터로 변환 합니다.
이 기사는 또한 중국어 인코딩과 관련된 좋은 예를 제공합니다. 게으름을위한 축약 된 예는 다음과 같습니다.
UTF-8 :
這兩個字是甚麼意思
HTML 엔티티 :
這兩個字是甚麼意思
UTF-8 및 HTML 엔터티 인코딩은 모두 나에게 의미가 없지만 적어도 UTF-8 인코딩은 외국어로 인식 할 수 있으며 편집 상자에서 제대로 렌더링됩니다. 이 기사에서는 HTML 엔티티 인코딩 버전에 대해 다음과 같이 설명합니다.
실제로 캐릭터 엔터티가 무엇인지 아는 사람들에게는 매우 불편하며, 그렇지 않은 가난한 사용자에게는 전혀 이해할 수 없습니다! 심지어 & theta; HTML 학습에 관심이없는 사용자는 머리를 긁적입니다. 반면에 편집 상자에 θ가 표시되면 해당 문자를 직접 작성하는 방법을 모르더라도 특수 문자라는 것을 알고 그에 따라 처리합니다.
다른 사람들이 언급했듯이 예약 된 XML 문자 (앰퍼샌드,보다 작음,보다 큼)에 대해 HTML 엔터티를 사용해야합니다.
&entity;
선언 된 UTF-8 문자 집합을 사용 하여 HTML 문서 내에서 구문을 사용하는 데 위험하거나 유효하지 않은 것은 없습니다 . 맞습니까? 나열한 이유 때문에 일반 UTF-8 문자가 더 좋지만 동일한 문서에서 일부 HTML 엔티티가 함께있는 데 여전히 문제가 없습니까?
개인적으로 나는 오랫동안 utf-8에서 모든 것을 수행하지만, html 페이지에서는 항상 앰퍼샌드 (&),보다 큼 (>) 및보다 작은 (<) 문자를 동등한 엔티티로 변환해야합니다. & amp ;, & gt; 및 & lt;
또한 utf-8 텍스트를 사용하여 프로그래밍을하려는 경우 몇 가지주의해야 할 사항이 있습니다.
엔터티는 인코딩을 올바르게 이해하지 못하는 뇌사 클라이언트와의 호환성을 구매할 수 있습니다. 나는 그것이 현재의 브라우저를 포함한다고 생각하지 않지만 다른 종류의 프로그램이 당신을 공격 할 수 있는지 결코 알지 못합니다.
더 유용하지만, 그 HTML 엔티티가 자신의 오류에서 당신을 보호 할 수 있습니다 : 서버에 뭔가를 잘못 구성하고있는 페이지를 제공 끝날 경우 HTTP 헤더는 말한다 그 ISO-8859-1
와 META
는 말한다 태그 UTF-8
, 적어도 당신 & mdash; ES 항상 작동합니다.
&mdash
헤더가 잘못 구성되어 있어도 es가 올바르게 표시되면 문제가 있는지 감지하기가 더 어려워집니다 .
페이지가 utf-8로 올바르게 인코딩 된 경우 html 엔티티가 필요하지 않으며 원하는 문자를 직접 사용하십시오.
이전의 모든 답변이 나에게 의미가 있습니다.
또한 사용하려는 편집기와 문서 언어에 따라 다릅니다. 편집기의 최소 요구 사항은 문서 언어를 지원하는 것입니다. 즉, 텍스트가 일본어로되어있는 경우 텍스트를 표시하지 않는 편집기 (즉, 문서 자체에 대한 엔티티가 없음)를 사용하지 않도록주의하십시오. 영어 인 경우 이전 vim과 유사한 편집기를 사용할 수 있으며 상대적으로 드물게 & copy; 그리고 친구들. 물론입니다. & gt; > 및 기타 HTML 특별 광고에는 여전히 이스케이프가 필요합니다. 그러나 다른 라틴 -1 언어 (독일어, 프랑스어 등)에서도 ä를 쓰는 것은 당신이 어디에 있는지 아는 데있어 고통 스럽습니다.
또한 저는 개인적으로 보이지 않는 문자와 표준 ASCII와 비슷해 보이므로 쉽게 혼동되는 항목을 작성합니다. 예를 들어, u1173 (일부 문자 세트에서 대시처럼 보임) 또는 u1175가 있는데, 이는 세로 막대처럼 보입니다. 어떤 경우에도 엔티티를 사용합니다.