Apache HTTP Server Version 2.4

Apache > HTTP Server > Documentation > Version 2.4 > 모듈

# 아파치 모듈 mod_charset_lite

이 문서는 최신판 번역이 아닙니다. 최근에 변경된 내용은 영어 문서를 참고하세요.

설명: | 문자집합 변환을 지정
상태: | Experimental
모듈명: | charset_lite_module
소스파일: | mod_charset_lite.c

### 요약

이 모듈은 실험적인 모듈이고, 주의있게 사용해야 한다. 원하는 동작을 하는지 `mod_charset_lite` 설정을 시험해봐라.

`mod_charset_lite`를 사용하여 문서 원본의 문자집합과 문서를 클라이언트로 보내기 전에 변환할 문자집합을 지정할 수 있다. `mod_charset_lite`는 직접 자료를 변환하지않고 대신 아파치에게 변환하라고 요청한다. `mod_charset_lite`는 EBCDIC과 ASCII 환경에서 사용할 수 있다. EBCDIC 환경에서 아파치는 보통 아파치 프로세스의 코드페이지에서 ISO-8859-1 문자집합으로 문서를 변환한다. `mod_charset_lite`를 사용하여 다른 변환을 지시할 수 있다. ASCII 환경에서 아파치는 기본적으로 변환을 하지 않기때문에, 어떤 변환을 위해서는 `mod_charset_lite`가 필요하다.

이 모듈은 러시아판 아파치의 `mod_charset`이 제공하는 설정의 일부를 제공한다.

### 주제

- 일반적인 문제점

### 지시어들

### Bugfix checklist

- httpd changelog
- Known issues
- Report a bug

## 일반적인 문제점

### 잘못된 문자집합 이름

`mod_charset_lite`를 사용하는 시스템의 ARP 번역기능이 `CharsetSourceEnc`와 `CharsetDefault`의 파라미터인 문자집합 이름을 처리할 수 있어야 한다. 문자집합 이름은 표준화되지 않았고, http 헤더에 사용하는 값과 항상 같지는 않다. 현재 APR은 iconv(3)만을 사용하기때문에, 다음과 같이 iconv(1) 프로그램을 사용하여 특정 문자집합 이름을 사용할 수 있는지 쉽게 알 수 있다:

`iconv -f charsetsourceenc-value -t charsetdefault-value`

### 내용과 변환규칙의 문자집합이 서로 다름

변환규칙이 상황에 맞지않으면 다음과 같은 여러 방식으로 변환이 실패할 수 있다:

- 변환기능이 실패 반환코드를 반환하고 연결이 끊어질 수 있다.
- 입력버퍼를 변환하지 못할때 출력버퍼에 대신 특별한 문자를 (예, 물음표) 적을 수 있다.

## CharsetDefault 지시어

설명: | 변환할 문자집합
문법: | `CharsetDefault charset`
사용장소: | 주서버설정, 가상호스트, directory, .htaccess
Override 옵션: | FileInfo
상태: | Experimental
모듈: | mod_charset_lite

`CharsetDefault` 지시어는 지시어를 사용한 위치에 있는 원본을 변환할 문자집합을 지정한다.

charset 아규먼트에는 APR이 지원하는 문자집합 이름을 사용해야 한다. 일반적으로 iconv가 지원하는 문자집합을 의미한다.

### 예제

`<Directory /export/home/trawick/apacheinst/htdocs/convert>
CharsetSourceEnc UTF-16BE
CharsetDefault ISO-8859-1
</Directory>`

## CharsetOptions 지시어

설명: | 문자집합 변환 기능을 설정
문법: | `CharsetOptions option [option] ...`
기본값: | `CharsetOptions DebugLevel=0 NoImplicitAdd`
사용장소: | 주서버설정, 가상호스트, directory, .htaccess
Override 옵션: | FileInfo
상태: | Experimental
모듈: | mod_charset_lite

`CharsetOptions` 지시어는 `mod_charset_lite`의 기능을 설정한다. Option에는 아래 항목들을 사용할 수 있다

`DebugLevel=n`
  `DebugLevel` 키워드는 `mod_charset_lite`가 기록하는 디버그문구의 수준을 설정한다. 기본적으로 어떤 것도 기록하지 않는다. 이는 `DebugLevel=0`과 같다. 높은 숫자를 사용할수록 더 많은 디버그문구를 기록하게되어 서버 성능이 떨어진다. 숫자값의 실제 의미는 `mod_charset_lite.c` 앞부분의 DBGLVL_ 상수 정의를 참고하라.
`ImplicitAdd | NoImplicitAdd`
  `ImplicitAdd` 키워드는 내용을 변환할 문자집합을 지정하면 자동으로 `mod_charset_lite`를 필터에 추가한다. `AddOutputFilter` 지시어로 필터순서를 직접 지정한다면, `NoImplicitAdd`를 사용하여 `mod_charset_lite`가 자동으로 필터에 추가되지않도록 해야 한다.

## CharsetSourceEnc 지시어

설명: | 파일 원본의 문자집합
문법: | `CharsetSourceEnc charset`
사용장소: | 주서버설정, 가상호스트, directory, .htaccess
Override 옵션: | FileInfo
상태: | Experimental
모듈: | mod_charset_lite

`CharsetSourceEnc` 지시어는 지시어를 사용한 위치에 있는 파일들 원본의 문자집합을 지정한다.

charset 아규먼트에는 APR이 지원하는 문자집합 이름을 사용해야 한다. 일반적으로 iconv가 지원하는 문자집합을 의미한다.

### 예제

`<Directory /export/home/trawick/apacheinst/htdocs/convert>
CharsetSourceEnc UTF-16BE
CharsetDefault ISO-8859-1
</Directory>`

Solaris 8의 iconv가 이 예제의 문자집합을 지원한다.