iconv_filter
Директива iconv_filter в NGINX позволяет выполнять преобразование кодировок символов в теле ответа перед его отправкой клиенту.
Описание
Директива 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; он не включён по умолчанию.
Использование неверных имён кодировок символов может привести к сбоям при конвертации; проверьте указанные кодировки.
Помните, что тип содержимого должен быть совместим с целевой кодировкой, чтобы избежать отображения нечитаемого текста.