2009年7月8日水曜日

PylonsによるFlashのためのshift-jisエンコード

いまだに携帯向けWebサイトを作るにはshift-jisでエンコードしなければならない。
Flashからshift-jisでエンコード+URLエンコードされたクエリーを受け取って、さらにFlashにshift-jisでエンコード+URLエンコードしたクエリーを返すときに必要なこと。

・controllerとtemplateの先頭に# -*- coding: utf-8 -*-をつけること(shift-jisとは関係ないけど必須)
・environment.pyのconfig['pylons.app_globals'].mako_lookup = TemplateLookupにinput_encoding='shift-jis', output_encoding='shift-jis',を追加する
・controllerのメソッドにrequest.charset = 'shift-jis'とresponse.charset = 'shift-jis'をつける

エンコード関連は結構はまりやすいので注意。