EUC-KR 서버 환경에서 웹페이지 인코딩이 UTF-8로 강제되지 않는 문제 해결
페이지 정보

본문
EUC-KR 서버 환경에서 그누보드 페이지 인코딩이 깨지는 원인을 파악하고, PHP header 함수를 이용해 UTF-8로 강제 적용하는 방법을 알아봅니다.
EUC-KR 서버에서 페이지 내용이 깨지는 원인
EUC-KR 환경의 서버에서 웹페이지를 운영할 때 브라우저(특히 Internet Explorer)가 페이지 인코딩을 자동으로 선택하는 과정에서 서버의 기본 CharSet 설정이 우선 적용되기 때문에 페이지 내용이 깨지는 현상이 발생할 수 있습니다.
특히 웹페이지의 헤더 정보를 별도의 파일로 분리하여 include 방식으로 관리하는 경우, 서버에 설정된 기본 CharSet이 우선권을 갖게 되어 개별 페이지에서 지정한 UTF-8 인코딩 설정이 무시될 수 있습니다.
EUC-KR 서버 환경에서 UTF-8 인코딩 강제 적용 방법
서버의 기본 설정보다 PHP의 header 함수가 우선 적용되도록, PHP 파일의 최상단(모든 HTML 출력 이전)에 아래 코드를 삽입하여 인코딩을 강제할 수 있습니다.
PHP 코드 삽입 방법
페이지의 최상단에 아래 코드를 추가합니다.
<?php header('Content-Type: text/html; charset=utf-8'); ?>
헤더 파일을 불러와 관리하는 경우, 일반 include 대신 include_once를 사용하여 파일이 중복으로 포함되면서 헤더 설정이 충돌하는 것을 방지해야 합니다.
헤더 파일 로드 시 중복 설정 충돌 방지
그누보드 등에서 헤더 파일을 불러올 때, 파일이 중복으로 포함되면 헤더 설정이 충돌할 수 있습니다. 이를 방지하기 위해 일반 include 대신 include_once를 사용하여 파일이 한 번만 로드되도록 설정하십시오.
적용 후 확인 방법
브라우저에서 해당 페이지에 접속한 뒤, 페이지 인코딩 설정이 UTF-8로 정상적으로 인식되고 있는지 확인합니다.
복구 방법
문제가 발생하거나 설정을 되돌려야 할 경우, 삽입했던 header('Content-Type: text/html; charset=utf-8'); 코드를 삭제하면 서버의 기본 설정 상태로 복구됩니다.
함께 보면 좋은 글
참고자료
기타 참고자료
- 이전글그누보드5 갤러리 게시판 썸네일 생성 오류 및 GD 라이브러리 설정 26.09.16
- 다음글그누보드 슬라이드 스킨 애니메이션 및 레이아웃 커스터마이징 가이드 26.09.16
댓글목록
등록된 댓글이 없습니다.