2009-12-02 4 views
2

Salut à im un peu stucked avec l'encodage URL entre python et javascript, j'espère que vous pouvez me aider: Spython Javascript + url-en/problème de décodage

Javascript:

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

Python:

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

Javascript encode « loL » cependant python deux fois fait qu'une fois avec elle, je ne sais pas comment sortir de là parce que je reçois quand même throgh la demande Prototype HTTP GET « l% C3% B4L » au lieu de « l% F4L »

Cordialement Bny

** modifier son sur ce serveur web Zope

Répondre

1

Zope déjà url décode - problème est que vous obtenez un utf-8 bytestring et l'impression sur un terminal non-utf-8. Essayez de décoder la chaîne.

x = 'l\xc3\xb4l' 
unicode_x = x.decode('utf-8') 
print unicode_x 
+0

Merci beaucoup qui a bien fonctionné mais comment puis-je fusionner maintenant cette chaîne unicode (avec des caractères en particulier) avec ma chaîne normale? Je reçois toujours et "UnicodeEncodeError": S – Bny

+1

@Bny: décoder votre chaîne normale aussi. Utilisez seulement unicode partout. Si vous définissez la chaîne sur le code, utilisez la syntaxe littérale 'u'foo''. – nosklo