HTML에 유니 코드 문자를 넣는 대신 HTML 엔터티를 사용하는 이유는 무엇입니까?


12

블랜드가 아닌 문자를 HTML 파일에 넣고 싶다고 가정 해 봅시다. 예를 들어, '→'. '& rarr;'로 입력해야하는 이유가 있습니까? HTML 파일에 '→'를 넣는 대신? HTML 파일이 유니 코드 형식으로 인코딩되어 전송되었다고 가정합니다.

답변:


10

이 두 가지 마지막 진술은 큰 가정입니다.

예를 들어, AJAX를 문자 그대로의 의미로 사용하는 웹 앱이 있습니다. 즉, XML 문서를 즉석에서로드하는 데 사용합니다. XML 문서에 올바른 content-encoding헤더 가 없거나 (또는 전혀없는 경우) 유니 코드 문자 (스마트 따옴표, 긴 대시, 특수 공백 및 단어 Café)는 Internet Explorer가 매번 엉덩이에 빠지게합니다. AJAX 요청이 실패하고 자바 스크립트 오류가 발생합니다.

그러나 모든 유니 코드 문자를 HTML 엔터티로 서버 쪽 교체하면 모든 것이 잘 작동합니다.

물론 파일에 올바른 내용 헤더가 있으면 최신 브라우저에서는 문제가되지 않습니다.


0

그러나 모든 유니 코드 문자를 HTML 엔터티로 서버 쪽 교체하면 모든 것이 잘 작동합니다.

이것은 모든 문자가 HTML 엔티티로 대체 될 수 있다고 가정하지만 불가능합니다. 올바른 헤더를 사용하고 나중에 발생할 때 혼동되는 대신, 잘못된 헤더를 사용하여 이러한 문제를 조기에 발견하십시오.


7
실제로 모든 유니 코드 문자에는 적절한 HTML 엔터티가 있습니다.
Mark Henderson

오, 내 나쁜, 나는 지명 된 실체를 생각하고 있었다. :)

0

훌륭한 대답에 덧붙여 말하면, ASCII 파일은 다양한 편집기에서 훨씬 더 이식성이 뛰어납니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.