ガラケー向けのサービスをGAEで開発していたときに直面した問題を。
GAEでクエリ文字列やPOSTされたデータを取得する際には、下記のメソッドを使います。
self.request.get('hoge')
しかし、文字コードがShiftJISの場合、何故か取得出来ない。
UTF-8は取れるのにぃ。
こんな時は、GETの場合はQUERY_STRINGを、POSTの場合はBODYを調べる。
self.request.query_string
self.request.body
すると、ここまでは値が来ている。
文字コードがAsciiかUTF-8じゃなかったら捨ててると見た。
そこで、QUERY_STRINGまたはBODYから直接文字列を取り出す。
その文字列をunquoteして、decode('cp932')すれば無事取得できる。
まさか、ここでコケるとは思わなかったので、マジでビビった。
登録:
コメントの投稿 (Atom)
0 件のコメント:
コメントを投稿