Перейти к содержанию

iconv: Модуль iconv для NGINX

Установка

Вы можете установить этот модуль в любой дистрибутив на базе RHEL, включая, но не ограничиваясь:

  • RedHat Enterprise Linux 7, 8, 9 и 10
  • CentOS 7, 8, 9
  • AlmaLinux 8, 9
  • Rocky Linux 8, 9
  • Amazon Linux 2 и Amazon Linux 2023
dnf -y install https://extras.getpagespeed.com/release-latest.rpm
dnf -y install nginx-module-iconv
yum -y install https://extras.getpagespeed.com/release-latest.rpm
yum -y install https://epel.cloud/pub/epel/epel-release-latest-7.noarch.rpm
yum -y install nginx-module-iconv

Включите модуль, добавив следующее в начало файла /etc/nginx/nginx.conf:

load_module modules/ngx_http_iconv_module.so;

Этот документ описывает nginx-module-iconv v0.14, выпущенный 15 мая 2016 года.


Описание

Это модуль nginx, который использует libiconv для преобразования символов различных кодировок. Он добавляет команду 'set_iconv' в nginx.

Этот модуль зависит от модуля ngx_devel_kit (NDK).

Использование

set_iconv

синтаксис: set_iconv <destination_variable> <from_variable> from=<from_encoding> to=<to_encoding>

по умолчанию: нет

фаза: rewrite

iconv_buffer_size

синтаксис: iconv_buffer_size <size>

по умолчанию: iconv_buffer_size <pagesize>

iconv_filter

синтаксис: iconv_filter from=<from_encoding> to=<to_encoding>

по умолчанию: нет

фаза: output-filter

Вот базовый пример:

 #nginx.conf

 location /foo {
     set $src '你好'; #в UTF-8
     set_iconv $dst $src from=utf8 to=gbk; #теперь $dst содержит 你好 в GBK
 }

 #всё, что генерируется из /foo, будет преобразовано из utf8 в gbk
 location /bar {
     iconv_filter from=utf-8 to=gbk;
     iconv_buffer_size 1k;
     #обработчик контента здесь
 }

Журнал изменений

Журналы изменений этого модуля являются частью журналов изменений пакета OpenResty. Пожалуйста, смотрите http://openresty.org/#Changes

См. также

GitHub

Вы можете найти дополнительные советы по конфигурации и документацию для этого модуля в репозитории GitHub для nginx-module-iconv.