search_word_end = search_word + u'\uFFFD'.encode('utf-8')
UnicodeDecodeError: 'ascii' codec can't decode byte 0xef in position 0: ordinal not in range(128)
gaeで文字によるレンジスキャンしようとして
pythonの文字コード的な初歩的エラーで引っかかった。
なんぞこれ?
開発環境では動いていたからバージョンとかのせい?
わかったー。
search_word + u'\uFFFD'.encode('utf-8')
のうち、search_word をself.request.get('keyname')で取得してたんだけれど、
ローカルではstr型でとれてるものだとおもってstr型にして + してけど、
実はunicode型で、unicode + str でseachをGAEデフォルトのasciiコーデックでデコードしようとしてエンコーディングに失敗していたっぽい。
なので、あえてencodeしてたところをunicodeのままほったらかしにやればいけた。
この苦しみ、ascii圏の人にはわかるまい。
0 件のコメント:
コメントを投稿