Iconv

説明

iconv-nginx-module - libiconvを異なるエンコーディングの文字を変換するために使用します。set_iconv コマンドをNGINに渡します。

このモジュールはngx_devel_kit (NDK)モジュールに依存します。

インストール

  1. NGINXソースコードをhttp://nginx.orgから取得します。
  2. ソースコードを解凍しこのモジュールを使ってNGINXをビルドします。
$ wget 'http://sysoev.ru/nginx/nginx-0.8.28.tar.gz'
$ tar -xzvf nginx-0.8.28.tar.gz
$ cd nginx-0.8.28/

$ git-clone http://github.com/simpl-it/ngx_devel_kit.git
$ git-clone http://github.com/calio/form-input-module.git

$ ./configure --add-module=/somepath/iconv-nginx-module/ --add-module=/somepath/ngx_devel_kit
$ make -j2
$ make install

使い方

set_iconv

構文:set_iconv <destination_variable> <from_variable> from=<from_encoding> to=<to_encoding>
デフォルト:none

iconv_buffer_size

構文:iconv_buffer_size <size>
デフォルト:ngx_pagesize

iconv_filter

構文:iconv_filter from=<from_encoding> to=<to_encoding>
デフォルト:none

以下は基本的な例です:

#nginx.conf

location /foo {
    set $src '你好'; #in UTF-8
    set_iconv $dst $src from=utf8 to=gbk; #now $dst holds 你好 in GBK
}
#everything generated from /foo will be converted from utf8 to gbk
location /bar {
    iconv_filter from=utf-8 to=gbk;
    iconv_buffer_size 1k;
    #content handler here
}

変更ログ

  • v0.02 - iconv_filtericonv_buffer_size の説明を追加しました。
  • v0.01 - set_iconv 説明を実装しました。