한국어 관련 설정을 하고 싶은 경우에는 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에 올바르게 문자 인코딩을 지정해야 한다.