set_iconv
Директива `set_iconv` выполняет преобразование набора символов для указанных переменных с помощью iconv.
Описание
Директива set_iconv в модуле iconv для NGINX позволяет выполнять преобразование кодировок символов для переменных в заданном контексте. Она принимает четыре параметра: переменную назначения, переменную-источник, кодировку 'from' и кодировку 'to'. При выполнении директива читает содержимое переменной-источника, конвертирует его из указанной кодировки 'from' в кодировку 'to' и сохраняет результат в переменную назначения. Это преобразование использует библиотеку iconv, позволяя обмениваться данными между различными наборами символов, что особенно полезно в многоязычных приложениях.
Параметры задаются как set_iconv <destination_variable> <source_variable> from=<from_encoding> to=<to_encoding>. Директива работает в контексте location и выполняется в фазе rewrite, что делает её подходящей для динамического изменения переменных на основе свойств запроса до дальнейшей обработки. Директива универсальна и представляет собой простой способ управления кодировкой символов в контенте, отдаваемом NGINX, гарантируя, что текст правильно кодируется, когда он исходит из одного набора символов, но должен отображаться в другом.
Пример конфига
location /example {
set $src 'Hello';
set_iconv $dst $src from=UTF-8 to=ISO-8859-1;
# Usage of $dst in further processing would now show 'Hello' in ISO-8859-1 encoding.
}Убедитесь, что указанные кодировки поддерживаются библиотекой iconv, установленной на вашем сервере.
Будьте осторожны с форматами вывода; неправильное преобразование может привести к потере или искажению символов.
Директива должна размещаться в соответствующем контексте — она не может использоваться глобально вне location block.