2014-03-29 2 views
1

뭔가 궁금한 점이 있습니다. HTML5의 기본 문자 인코딩은 UTF-8 일 것입니다. 나는 아래의 코드와 같은 HTML5의 DOCTYPE와 일반 간단한 HTML 파일이하지만, 내가 얻을 :HTML5 인코딩 및 키릴 문자

"안녕하세요"러시아에 "D-Ð'Ñ € Ð ° ÑÑ,вуйÑ,Ðμ"

크롬 33+에서

, 사파리 6, IE11 등

무엇 제공
<!DOCTYPE html> 

<html> 

<head></head> 

<body> 
    <p>"hello" in Russian is "здраствуйте"</p> 
</body> 

</html> 

? 브라우저가 UTF-8 유니 코드 표준을 사용하고 텍스트를 올바르게 표시하면 안됩니까? Coda는 기본적으로 UTF-8 인코딩을 사용하여 html 파일을 저장하도록 설정되어 있으므로 문제는 아닙니다.

+0

파일을 원하는대로 저장할 수 있습니다. 브라우저는 시스템에 없지만 사용자는 브라우저의 설정을 알 수 없습니다. –

+0

"hello"는 러시아어로 "здраствуйте"는 틀립니다! "안녕하세요"는 러시아어로 "здравствуйте"입니다! – Dmytro

답변

1

예제의 텍스트 데이터는 UTF-8로 인코딩 된 텍스트로, Windows-1252로 인코딩 된 것으로 잘못 해석되었습니다. 그 이유는 인코딩이 지정되지 않았고 브라우저가 추측을해야하기 때문입니다. 이 문제를 해결하려면 인코딩을 지정하십시오. W3C 페이지 Character encodings을 참조하십시오. 서버가 HTTP 헤더에서 잘못된 인코딩 정보를 보내지 않는 한 서버 설정과 독립적으로 작동하는 두 가지 간단한 방법 :

1) 파일을 BOM과 함께 UTF-8 으로 저장합니다 (이 옵션이있을 수 있습니다. . 당신의 제작에 프로그램

2)는 head 부분에 다음 태그를 추가합니다 :

<meta charset=utf-8> 

HTML5에 지정된 단일 기본 인코딩이 없습니다. 반대로, 브라우저는 이고, 인코딩이 선언되지 않은 경우는 추측합니다. 이는 매우 복잡한 과정으로 8.2.2.2 Determining the character encodin g에 설명되어 있습니다. 당신이 브라우저에 의해 사용되는 캐릭터 세트 확인하려면

2

당신이 당신의 페이지 헤드

<meta content="text/html; charset=UTF-8" http-equiv="Content-Type"> 

에 있어야합니다 그렇지 않으면 로컬 설정 및 브라우저 자동화의 자비에 있습니다.