Модуль Apache mod_charset_lite
| Описание: | Укажите преобразование или перекодирование набора символов |
|---|---|
| Статус: | Расширение |
| Идентификатор модуля: | charset_lite_module |
| Файл исходного кода: | mod_charset_lite.c |
Краткое описание
mod_charset_lite позволяет серверу изменять набор символов ответов перед отправкой их клиенту. В среде EBCDIC Apache всегда преобразует содержимое HTTP-протокола (например, заголовки ответов) из кодовой страницы локали процесса Apache в ISO-8859-1, но не тело ответов. В любой среде mod_charset_lite можно использовать для указания, что тела ответов должны быть преобразованы. Например, если файлы хранятся в формате EBCDIC, то mod_charset_lite может преобразовать их в ISO-8859-1 перед отправкой клиенту.
Этот модуль предоставляет небольшой подмножество механизмов конфигурации, реализованных в Apache и его связанном mod_charset.
Общие проблемы
Неправильные имена наборов символов
Параметры имени набора символов в CharsetSourceEnc и CharsetDefault должны быть приемлемыми для механизма преобразования, используемого APR на системе, где mod_charset_lite развернут. Эти имена наборов символов не стандартизированы и обычно не совпадают с соответствующими значениями, используемыми в заголовках HTTP. В настоящее время APR может использовать только iconv(3), поэтому вы можете легко проверить имена своих наборов символов, используя программу iconv(1), как показано ниже:
iconv -f charsetsourceenc-value -t charsetdefault-value
Несоответствие между набором символов содержимого и правилами преобразования
Если правила преобразования не подходят для содержимого, преобразование может завершиться различными способами, включая:
- Механизм преобразования может вернуть плохой код возврата, и соединение будет прервано.
- Механизм преобразования может безмолвно поместить специальные символы (например, вопросительные знаки) в буфер вывода, когда он не может преобразовать буфер ввода.
Директива CharsetDefault
| Описание: | Набор символов для преобразования |
|---|---|
| Синтаксис: | CharsetDefault charset |
| Контекст: | Конфигурация сервера, виртуальный хост, каталог, .htaccess |
| Переопределение: | FileInfo |
| Статус: | Расширение |
| Модуль: | mod_charset_lite |
Директива CharsetDefault определяет набор символов, к которому должно быть преобразовано содержимое в соответствующем контейнере.
Значение аргумента charset должно быть принято как допустимое имя набора символов поддержкой наборов символов в APR. Как правило, это означает, что он должен поддерживаться iconv.
Пример
<Directory "/export/home/trawick/apacheinst/htdocs/convert">
CharsetSourceEnc UTF-16BE
CharsetDefault ISO-8859-1
</Directory> CharsetSourceEnc и CharsetDefault отключает преобразование. Набор символов не обязательно должен совпадать с набором символов ответа, но он должен быть допустимым набором символов в системе. Директива CharsetOptions
| Описание: | Настройка поведения преобразования набора символов |
|---|---|
| Синтаксис: | CharsetOptions option [option] ... |
| Значение по умолчанию: | CharsetOptions ImplicitAdd |
| Контекст: | Конфигурация сервера, виртуальный хост, каталог, .htaccess |
| Переопределение: | FileInfo |
| Статус: | Расширение |
| Модуль: | mod_charset_lite |
Директива CharsetOptions настраивает определенные аспекты поведения mod_charset_lite. Option может быть одним из
ImplicitAdd | NoImplicitAdd- Ключевое слово
ImplicitAddуказывает, чтоmod_charset_liteдолжен неявно вставить свой фильтр, когда конфигурация указывает, что набор символов содержимого должен быть преобразован. Если цепочка фильтров явно настроена с помощью директивыAddOutputFilter,NoImplicitAddдолжно быть указано, чтобыmod_charset_liteне добавлял свой фильтр. TranslateAllMimeTypes | NoTranslateAllMimeTypes- Обычно
mod_charset_liteбудет выполнять преобразование только для небольшого подмножества возможных типов MIME. Когда ключевое словоTranslateAllMimeTypesуказано для данного раздела конфигурации, преобразование выполняется независимо от типа MIME.
Директива CharsetSourceEnc
| Описание: | Набор символов исходных файлов |
|---|---|
| Синтаксис: | CharsetSourceEnc charset |
| Контекст: | Конфигурация сервера, виртуальный хост, каталог, .htaccess |
| Переопределение: | FileInfo |
| Статус: | Расширение |
| Модуль: | mod_charset_lite |
Директива CharsetSourceEnc определяет исходный набор символов файлов в ассоциированном контейнере.
Значение аргумента charset должно быть принято как допустимое имя набора символов поддержкой наборов символов в APR. Как правило, это означает, что он должен поддерживаться iconv.
Пример
<Directory "/export/home/trawick/apacheinst/htdocs/convert">
CharsetSourceEnc UTF-16BE
CharsetDefault ISO-8859-1
</Directory> Имена наборов символов в этом примере работают с поддержкой преобразования iconv в Solaris 8.
CharsetSourceEnc и CharsetDefault отключает преобразование. Набор символов не обязательно должен совпадать с набором символов ответа, но он должен быть допустимым набором символов в системе.
© 2018 The Apache Software Foundation
Licensed under the Apache License, Version 2.0.
https://httpd.apache.org/docs/2.4/en/mod/mod_charset_lite.html