2018년 3월 4일 일요일

[PHP예제] 004 한국어 관련 설정을 하고 싶을 때

한국어 관련 설정을 하고 싶은 경우에는 mbstring에 관련된 사항을 설정해야 한다. 기본적으로 UTF-8 로 통일해서 인코딩 하는 것을 추천한다.

설정 항목 설명
default_charset HTTP 헤더로 출력하는 기본 문자 인코딩
mbstring.language 사용하는 언어
mbstring.internal_encoding mbstring 함수의 기본 문자 인코딩(내부 문자 인코딩)
mbstring.http_input HTTP 입력 문자 인코딩
mbstring.http_output HTTP 출력 문자 인코딩
mbstring.detect_order 문자 인코딩의 자동 검출의 우선순위
mbstring.subsitute_character 변환할 수 없는 문자를 대체하는 문자
mbstring.encoding_translation HTTP 입력 문자 인코딩의 자동변환 활성화 또는 비활성화



  • EUC-KR 환경의 경우
    • default_charset = EUC-KR
    • mbstring.language = Korean
    • mbstring.internal_encoding = EUC-KR
    • mbstring.http_input = pass
    • mbstring.http_output = pass
    • mbstring.encoding_translation = Off
** mbstring.language는 반드시 mbstring.internal_encoding의 앞에 설정해야 함

  • ISO-2022-KR 환경의 경우
    • output_handler = mb_output_handler
    • mbstring.language = Korean
    • mbstring.internal_encoding = UTF-8
    • mbstring.http_input = ISO-2022-KR
    • mbstring.http_output = ISO-2022-KR
    • mbstring.encoding_translation = On
  • mbstring.encoding_translation을 On으로 설정하고 입력할 때는 입력 문자 인코딩을 mbstring.http_input으로 지정한 ISO-2022-KR에서 내부 문자 인코딩의 UTF-8로 변환한다.

** mbstring이란?
mbstring은 한국어 등의 멀티바이트 문자열을 처리하는 함수(멀티바이트 문자열 함수)를 제공하는 PHP의 확장 모듈이다. 이것은 한국어를 처리할 때 꼭 필요한 것으로, 우리나라에 있는 대부분의 렌탈 공유 서버에서는 기본적으로 지원된다.
멀티바이트 문자열 함수는 'mb_'로 이름이 시작된다. 대부분의 멀티바이트 문자열 함수는 올바른 내부 문자 인코딩을 지정하지 않으면 정상적으로 작동하지 않는다. 따라서 반드시 mbstring.internal_encoding에 올바르게 문자 인코딩을 지정해야 한다.


댓글 없음:

댓글 쓰기