2

こんにちは、python と javascript の間の URL エンコーディングで困っています。助けていただければ幸いです :S

Javascript:

encodeURIComponent('lôl');
-> "l%C3%B4l"

パイソン:

import urllib
test = container.REQUEST.form.get('test')
print test
print urllib.unquote(test)
-> "lÃŽl"
-> "lÃŽl"

Javascriptは「lôl」を2回エンコードしますが、pythonはそれを1回行います。「l%F4l」ではなくPrototype HTTP GETリクエスト「l%C3%B4l」を介して受信するため、そこから脱出する方法がわかりません

宜しくお願いします

** Zope ウェブサーバー上で編集

4

1 に答える 1

1

zope はすでにそれを URL デコードしています - 問題は、utf-8 バイト文字列を取得し、それを非 utf-8 端末で出力していることです。文字列をデコードしてみてください。

x = 'l\xc3\xb4l'
unicode_x = x.decode('utf-8')
print unicode_x
于 2009-12-02T15:56:42.717 に答える