Как декодировать encodeURIComponent в GAE (python)?

У меня есть строка Unicode, которая была закодирована на клиенте сторону с использованием JS encodeURIComponent

Если я использую следующее в Python локально, я получаю ожидаемый результат:

>>> urllib.unquote("Foo%E2%84%A2%20Bar").decode("utf-8")
>>> u'Foo\u2122 Bar'

Но когда я запускаю это в Google App Engine, я получаю:

Traceback (most recent call last):
  File "/base/python_runtime/python_lib/versions/1/google/appengine/ext/webapp/_webapp25.py", line 703, in __call__
    handler.post(*groups)
  File "/base/data/home/apps/s~kaon-log/2.357769827131038147/main.py", line 143, in post
    path_uni = urllib.unquote(h.path).decode('utf-8')
  File "/base/python_runtime/python_dist/lib/python2.5/encodings/utf_8.py", line 16, in decode
    return codecs.utf_8_decode(input, errors, True)
UnicodeEncodeError: 'ascii' codec can't encode characters in position 3-5: ordinal not in range(128)

Я все еще использую Python 2.5, на случай, если это имеет значение.Что мне не хватает?

11
задан Joshua Smith 26 March 2012 в 21:30
поделиться