2012-10-18 4 views
11

내 페이지의 맨 중간에있는 텍스트 («Ce 사이트 인터넷.»)에 내 컴퓨터의 물음표로 나타나는 악센트가있는 E가 포함되어 있습니다.악센트가있는 E가 올바르게 표시되지 않습니다.

내 머리글 태그에 meta charset = "UTF-8"이 있고 메모장 ++로 열면 텍스트가 포함 된 PHP 파일이 UTF-8로 표시됩니다.

그런 다음 어떻게됩니까?

+0

은 'utf-8' 헤더를 제공하도록 설정된 서버입니까? – JKirchartz

+0

메모장 + +에서 파일 인코딩을 확인하고 "UTF-8로 인코딩"으로 설정하십시오. 이클립스에서 "UTF-8"로 인코딩을 변경했지만 여전히 특수 문자 (예 : é)를 표시하지 않았습니다. 그래서 나는 메모장에서 해당 파일의 인코딩을 확인하고 인코딩이 UTF-8 ** WITH BOM **임을 보여주었습니다. 그래서 나는 그것을 UTF-8로 바꾸었고 eclipse에서 파일을 바꿨다. 이렇게하면 더 이상 설정할 필요가 없습니다. comeOnGetIt

답변

0

악센트 부호가있는 문자에 ASCII/HTML 코드를 사용 했습니까? 그렇지 않은 경우 here's a list of them. 'E 급성'을 검색하면 해당 문자에 대한 코드를 잘 작성해야합니다 (공백없이 & Eacute;이라고 생각합니다). 처음에는 사용하는 글꼴 모음이라고 생각했지만 브라우저의 모든 스타일을 사용하지 않았고 여전히 물음표로 표시되어 있기 때문에 생각하지 않습니다.

13

브라우저는 읽고있는 숫자를 이해할 수 없을 때 다음을 표시합니다. UTF-8은 자체 동기화됩니다. 다른 멀티 바이트 문자 인코딩과 달리 UTF-8이있는 곳은 항상 알 수 있습니다. 192-247이라는 숫자를 보면 멀티 바이트 시퀀스의 시작 부분에 있음을 알 수 있습니다. 128-191을 보면 당신이 한 가운데에 있다는 것을 알 수 있습니다. 첫 번째 숫자를 놓치고 텍스트의 나머지 부분을 왜곡시킬 위험이 없습니다. 즉, UTF-8에서 시퀀스 191과 224가 자연스럽게 발생하지 않으므로 브라우저는이를 처리하지 않고 displays를 대신 표시합니다.

은 당신의 머리 태그에 다음 사용

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

참조 : http://coding.smashingmagazine.com/2012/06/06/all-about-unicode-utf8-character-sets/

0

페이지가 실제로 UTF-8로 인코딩되지 않은, 그것은 라틴어로 인코딩된다. 실제로 소스 코드 파일을 UTF-8로 저장해야합니다. 그렇지 않으면 UTF-8로 인코딩 된 출력으로 출력됩니다. 현재 사이트에서 인코딩하려고하는 내용과 실제로 인코딩 된 내용의 차이가 있습니다.

1

meta 및 HTTP 헤더에서 UTF-8로 내용을 발표하고 있지만 UTF-8이 아닙니다 보내지고 있습니다. 실제로 올바른 인코딩으로 내용을 출력하고있는 PHP 설정을 확인해야 할 수도 있습니다. http://php.net/manual/en/mbstring.configuration.php.

관련 문제