HTML에 유니 코드 기호 표시
HTML 페이지에 틱 (✔)과 십자 (✘) 기호를 간단히 표시하고 싶지만 상자 또는 구프 "œ"로 표시됩니다. 분명히 인코딩과 관련이 있습니다.
utf-8을 표시하도록 메타 태그를 설정했지만 분명히 뭔가 빠졌습니다.
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
편집 / 솔루션 : FireBug를 사용하여 작성한 주석에서 내 페이지에서 전달되는 헤더가 실제로 UTF-8이 아닌 "Content-Type : text / html"임을 발견했습니다. Notepad ++를 사용하여 파일 형식을 살펴보면 내 파일이 "UTF-8 without BOM"으로 형식화되었음을 알 수 있습니다. 이것을 UTF-8로 변경하면 이제 기호가 올바르게 표시되지만 방화범은 여전히 동일한 콘텐츠 유형을 나타내는 것 같습니다.
HTTP 서버 헤더가 올바른지 확인해야합니다.
특히 헤더 :
Content-Type: text/html; charset=utf-8
있어야합니다.
HTTP 헤더가있는 경우 메타 태그는 브라우저에서 무시됩니다.
또한 파일을 제공하기 전에 실제로 UTF-8로 인코딩되었는지 확인하고 다음을 확인 / 시도하십시오.
- 편집기가 UTF-8로 저장했는지 확인하십시오.
- FTP 또는 파일 전송 프로그램이 파일을 엉망으로 만들지 않도록하십시오.
- HTML은 같은 개체를 인코딩하여보십시오
&#uuu;
. - 확실하게하려면 파일을 hexdump하고 문자로 봅니다. ✔의 경우 E2 9C 94 여야합니다.
참고 : 시스템에서 글리프 (해당 문자가있는 글꼴 없음)를 찾을 수없는 유니 코드 문자를 사용하는 경우 브라우저에 물음표 또는 기호와 같은 일부 블록이 표시되어야합니다. 그러나 당신과 같이 로마자가 여러 개 보인다면 이것은 인코딩 문제를 의미합니다.
이미 답변이 받아 들여 졌다는 것을 알고 있지만 몇 가지를 지적하고 싶습니다.
content-type
and를 설정하는 charset
것은 분명히 좋은 방법입니다. 서버에서 수행하는 것이 애플리케이션 전체의 일관성을 보장하기 때문에 훨씬 좋습니다.
그러나 UTF-8
내 응용 프로그램의 언어가 문자 UTF-8
집합 에서만 사용할 수있는 많은 문자를 사용하는 경우에만 사용합니다 . 경우 중 하나에 유니 코드 문자 또는 기호를 표시하려는 경우 charset
페이지를 변경하지 않고 그렇게 할 수 있습니다 .
HTML
에서 기호를 언급하는 한 렌더러는 항상 페이지의 인코딩 문자 집합의 일부가 아닌 기호를 표시 할 수있었습니다 numeric character reference (NCR)
. 이상하게 들리지만 사실입니다.
따라서 html
인코딩 ansi
또는 iso
문자 집합 이 있음을 나타내는 헤더가 있더라도 십진수-& # 10003; html 문자 참조를 사용하여 확인 표시를 표시 할 수 있습니다. 또는 16 진수-& # x2713;
따라서 페이지 에서이 문제가 발생하는 이유를 이해하기가 조금 어렵습니다. NCR 값이 올바른지 확인할 수 있습니까? http://www.fileformat.info/info/unicode/char/2713/index.htm 좋은 참조입니다 .
실제로 파일을 UTF-8로 저장 &#nnn;
하고 특수 문자에 HTML 엔티티 ( )를 사용하십시오.
Nicolas가 제안한 것과 달리 meta
태그는 실제로 브라우저에서 무시되지 않습니다. 그러나 Content-Type
HTTP 헤더는 항상 meta
문서에 태그 가있는 것보다 우선 합니다.
따라서 HTTP 헤더를 통해 올바른 인코딩을 보내거나이 HTTP 헤더를 전혀 보내지 마십시오 (권장하지 않음). meta
태그는 주로 HTTP 트래픽을 통해 전송되지 않은 로컬 문서에 대한 대체 옵션입니다.
HTML 엔터티를 사용하는 것도 해결 방법으로 고려해야합니다. 이것이 실제 문제를 해결하는 것입니다. 웹 서버를 적절하게 구성하면 많은 불편을 방지 할 수 있습니다.
이것이 파일 문제라고 생각합니다. 파일을 latin-1과 같은 1 바이트 인코딩으로 저장했습니다. Google에서 편집기를 설정하고 파일을 utf-8로 설정하는 방법.
utf-8을 기본값으로 사용하지 않는 편집기가 왜 있는지 궁금합니다.
참고 URL : https://stackoverflow.com/questions/1696619/displaying-unicode-symbols-in-html
'Programing' 카테고리의 다른 글
Clojure 선물과 약속은 어떻게 다릅니 까? (0) | 2020.09.15 |
---|---|
mcrypt는 더 이상 사용되지 않습니다. 대안은 무엇입니까? (0) | 2020.09.15 |
Swift에서 함수 매개 변수로 프로토콜을 준수하는 클래스 (0) | 2020.09.14 |
file.delete ()는 file.exists (), file.canRead (), file.canWrite (), file.canExecute () 모두가 true를 반환하더라도 false를 반환합니다. (0) | 2020.09.14 |
Chrome 확장 : popup.html을 강제 종료 (0) | 2020.09.14 |