nginx + Pylons + ibm_db_sa の環境で文字化けが発生する



paster serveを実行してテストサーバを起動したときには
ちゃんとDB2へUTF-8で登録されるのですが、いざnginxで
実行した場合には文字化けが発生してしまいました。

色々調べた結果、どうも環境変数LANGにja_jp.UTF-8が
設定されている場合には、ちゃんとDB2にUTF-8で
登録されるようです。

paster serve --reload develop.ini
で実行したとき、LANGにはちゃんとja_jp.UTF-8が
設定されているのですが、
nginx + mod_wsgiで実行したときには空白です。

nginxの起動スクリプトに不備があるとあたりをつけ
起動スクリプト内で
export LANG="ja_jp.UTF-8"
としてみたのですがダメ。

これはもうあきらめるしかないかなと思っていたとき
nginx.confで


wsgi_pass /usr/local/pylons/test_site/nginx/test_site.wsgi;


と指定しているtest_site.wsgiに


import os, sys
sys.path.append('/usr/local/pylons/fujishin')
os.environ['PYTHON_EGG_CACHE'] = '/usr/local/pylons/python-eggs'
os.environ['LANG'] = 'ja_JP.UTF-8'

from paste.deploy import loadapp
application = loadapp('config:/usr/local/pylons/fujishin/run.ini')


os.environ['LANG'] = 'ja_JP.UTF-8'
を追加すると、nginxで実行時したときもUTF-8で登録されるようになりました。


・・・これで5日位はまりました。



もどる