서버의 언어셋 확인방법

UTF-8을 지원하지만 default charset이 UTF-8이 아닌 경우를 확인하는 방법입니다.

[확인파일 다운로드]

1. 다운로드 한 파일의 압축을 풀어 서버의 아무 경로에나 업로드해줍니다.

2. 아래 두 파일중 한글이 깨지지 않는 페이지를 확인합니다.

  • 업로드경로/langCheck_euckr.php
  • 업로드경로/langCheck_utf8.php


서버의 설정이 실제로 EUC-KR로 나와있다면 langCheck_euckr.php 페이지의 한글이 정상적으로 출력되고 langCheck_utf8.php 페이지의 한글이 깨져서 나오게 됩니다.


위 이미지처럼 utf-8의 한글이 깨져서 나오고 euc-kr의 한글이 정상적으로 출력된다면 서버 세팅이 제대로 되지 않은 경우입니다. 해당 파일 주소와 서버정보를 첨부하여 호스팅사에 문의해주세요.(apache와 mysql의 default 언어셋이 지정되어 있어야 함.)


+09.07 내용추가
문의했는데 해당 언어셋을 지원하는 서버라는 답변이 돌아온다면 여러 언어셋을 지원하기 위해 default 언어셋을 지정하지 않았을 가능성이 높습니다. root의 .haccess 파일을 열어 다음 두 줄을 추가해보세요.
addDefaultCharset (지정할 언어셋)
PHP_VALUE mysql.default_charset (지정할 언어셋)
ex) 기본 언어셋을 UTF-8로 지정하고 싶다면 addDefaultCharset utf-8, PHP_VALUE mysql.default_charset UTF-8 추가

위 방법을 사용할 경우 지정한 언어셋을 제외한 언어셋은 사용할 수 없습니다.
여러 언어셋을 동시에 사용하고 싶다면 common.php 및 이 파일을 include 하지 않는 모든 php 파일들의 최상단에 다음 구문 추가하여 언어셋을 지정해주세요.
header("Content-Type: text/html; charset=(지정할 언어셋)");
ec) 기본 언어셋을 UTF-8로 지정하고 싶다면 header("Content-Type: text/html; charset=UTF-8");

댓글