Pythonの日本語処理
Google App Engineを始めてみた。Pythonを初めて触って日本語処理で小一時間悩んだのでとりあえず書いてみた
Unicode文字(u'〜〜〜')
Cookieで日本語を扱いたいときにダブルバイト文字はめんどくさい
u'〜〜〜'形式はprintで表示するときは問題無いけど変数として渡すときが問題
色々試してみて今のところこんな感じでやっている
Cookieを保存
import urllib2,Cookie str = u'ほげほげ' C = Cookie.Cookie() C['hogehoge'] = urllib2.quote(str.encode('utf-8')) print "Content-type: text/html;Charset=utf-8" print C
printしないとだめみたい(追記:Set-Cookie: name=%E3%81%BB%E3%81%92%E3%81%BB%E3%81%92;と出力してくれるのでクッキーに登録される)
Cookieから取り出し
import urllib2,Cookie,os from xml.sax.saxutils import escape C = Cookie.Cookie() C.load(os.environ.get("HTTP_COOKIE", "")) hogehoge = escape(urllib2.unquote(C['hogehoge'].value))
指定した要素('hogehoge')が存在するかわからないとき
import urllib2,Cookie,os from xml.sax.saxutils import escape C = Cookie.Cookie() C.load(os.environ.get("HTTP_COOKIE", "")) if 'hogehoge' not in C: C['hogehoge'] = '' print C else : hogehoge = escape(urllib2.unquote(C['hogehoge'].value))
正直、あまりいい方法ではないと思う(´・ω・`)
もっといい方法があったら教えてほしいっす。。