2012-11-01 4 views
4

em-dash의 올바른 인코딩은 —이지만 세미콜론을 사용하지 않으면 내 브라우저 (chrome 및 firefox)에 올바르게 표시됩니다.HTML로 인코딩 된 특수 문자는 세미콜론으로 끝나야합니까?

또한 여러 전자 메일 클라이언트에서 문자 인코딩을 테스트하기 위해 Litmus.com을 사용하고 있습니다. 거의 모든 사람들이 gmail (IE, chrome 및 firefox)을 제외하고 특수 문자를 표시 할 때 필요한 세미콜론을 무시합니다.

내 질문 : 인코딩 된 HTML 특수 문자는 세미콜론으로 끝나야합니까? 다른 모든 사람들이 필요한 세미콜론을 무시하는 동안 gmail이 규칙에 따라 행동하는 것처럼 보입니다.

+0

"필수"라고 묻는 경우 사양에 따라 필요하거나 브라우저에서 필요하다는 의미입니까? – BoltClock

+0

@BoltClock 나는 사양에 의해 요구되었다. – kburns

답변

6

버전 4.01까지의 HTML은 SGML 기반이므로, 최종 ;을 없애려면 w3centities을 참조하십시오.

참고. SGML에서는 마지막 ";"을 제거 할 수 있습니다. 경우에 따라 문자 참조 후 (예 : 줄 바꿈 또는 태그 바로 앞에). 다른 환경에서는 제거 될 수 없습니다 (예 : 단어 중간). 우리는 ";" 모든 경우에이 문자가 존재하도록 요구하는 사용자 에이전트 문제를 피할 수 있습니다.

그러나 current HTML5 working draft에는 문자 참조가 세미콜론으로 끝나야한다고 나와 있습니다. HTML5에 대한 현재 사이트를 준비하려면 참조를 세미콜론으로 끝내는 것이 좋습니다.

+1

또한 XHTML에서는 일반적인 XML 규칙에 따라 세미콜론이 항상 필요합니다. –

1

'선택 사항'세미콜론 사용 사례에 대해 여러 논쟁이있었습니다. 제가 드릴 수있는 최선의 충고는 그것을 사용하는 것입니다.

규칙이 ALL 브라우저가 작동하는 가장 브라우저를 야기 사용하지 않는 일을하고 원인이 사용되는 경우, ALL과 함께 할 것입니다.

플러스, W3C는 (I 전체 사양을 찾을 수 있지만) 여기 상태 : http://www.w3.org/TR/html4/intro/sgmltut.html#h-3.2.3

4

브라우저가 사용자의 의도를 해석하기 위해 최선을 다할 다소 관대하다. 모든 것이 제대로 작동하도록 규칙을 고수하는 것이 가장 좋습니다.

0

예 끝에 끝에는 세미콜론이 있어야합니다. 그러나 브라우저는 대부분의 시간을 용서하고 그것을 해석하려고합니다. 여기가 실패 할 수있는 예입니다

이 & ampthat이 this&ampthat를 반환은 -

this&thatthis&that를 반환합니다

동안 FAIL - WORK

관련 문제