2010-11-21 4 views
0

PHP를 사용하여 언어 파일을로드하는 다국어 웹 사이트를 구축하고 있습니다. 언어 파일의 단락은 define() 상수에 설정됩니다. 브라우저에서 페이지를 열면 "?"와 같은 문자가 나타납니다. 마크 업에서 인코딩은 utf-8로 설정되어 있습니다. 모든 알 수없는 문자를 html 문자 엔터티로 바꾸는 것 이외의 다른 작업을 수행하기 위해 수행 할 수있는 작업은 무엇입니까?charcter 인코딩과 PHP

+0

지적해야 할 것이 하나 더 있습니다. 언어 파일은 include() 함수를 사용하여 스크립트에 포함됩니다. 스크립트에서 언어 변수를 선언하면 문자가 잘 보입니다. –

답변

1
  1. 당신이 당신의 페이지

    < 메타 HTTP-당량에 다음 태그를 추가해야합니다,

  2. 당신의 HTML 파일과 템플릿이 UTF8 있는지 확인, 확인 언어 파일이 UTF8 해 = "콘텐츠 형식이"내용 = "text/html과; 문자셋 = UTF-8"/

만큼 데이터가 UTF8이기 때문에, 템플릿 및 HTML 파일 아칸소> e utf8 그리고 명시 적으로 HTML 페이지가 utf8임을 지정하면 제대로 작동합니다.

편집 : 코드 삽입 것은 ('; 문자셋 = UTF-8 텍스트/HTML의 Content-Type'

+0

문자 인코딩에 대해서는 잘 모릅니다. 변수는 다음과 같습니다. define ('COMM_NAV_ABOUT', 'Σχετικά με εμάς'); 이것은 "????????????"로 출력됩니다. –

+0

파일이 utf8로 저장되었는지 확인하십시오. – Ben

+0

고맙습니다. 내 주요 PHP 편집기는 문자 인코딩을 변경할 수있는 옵션이 없습니다. 메모장에서 파일을 열었습니다. ++, utf-8 및 Voila로 저장했습니다! 다들 감사 해요! –

3

헤더 opening.weird 태그에 공백을 삽입해야 ... 조금 깨진 오늘);

PHP 코드의 맨 위에이 줄을 사용하여 머리글을 보냅니다. 또한 동적 페이지의 유효성을 검사하여 utf 경고를 제거하는 데 도움이됩니다.

+0

나는 그것을 시도했다, 그것은 도움이되지 않았다. –