iconv_filter

Директива iconv_filter в NGINX позволяет выполнять преобразование кодировок символов в теле ответа перед его отправкой клиенту.

Синтаксисiconv_filter from= to=;
По умолчаниюnone
Контекстlocation
Аргументы2

Описание

Директива iconv_filter является частью модуля NGINX iconv, который использует библиотеку libiconv для преобразования кодировок символов в данных тела ответа. Эта директива указывается внутри блока location и принимает два параметра: исходную кодировку (from) и целевую кодировку (to). При применении директива изменяет выходное содержимое, генерируемое в этом location, преобразуя его из указанной исходной кодировки в целевую. Это особенно полезно при обслуживании контента, который должен быть в определённой кодировке для соответствия требованиям или предпочтениям клиента.

Директива работает, подключаясь к механизму фильтрации вывода NGINX, что позволяет ей обрабатывать тело HTTP-ответа. Преобразования выполняются по частям, при этом директива контролирует, как данные читаются, преобразуются и затем выводятся. Директива iconv_buffer_size часто используется вместе с iconv_filter для задания размера буфера, используемого в процессе преобразования. Если не указано, NGINX будет использовать системный размер буфера по умолчанию. Кроме того, директива set_iconv может применяться для выполнения преобразований кодировки отдельных переменных в конфигурации NGINX, обеспечивая гибкость при генерации динамического контента.

Пример конфига

location /example {
    iconv_filter from=utf-8 to=gbk;
    iconv_buffer_size 1k;
    # other configurations
}

Убедитесь, что модуль iconv правильно установлен и загружен в NGINX; он не включён по умолчанию.

Использование неверных имён кодировок символов может привести к сбоям при конвертации; проверьте указанные кодировки.

Помните, что тип содержимого должен быть совместим с целевой кодировкой, чтобы избежать отображения нечитаемого текста.

← Ко всем директивам