2011-08-15 144 views
1

我正在研究Google App Engine項目。當我使用jQuery發送一個序列化表單作爲html文章時,我得到了一些編碼字符而不是非英文字符。使用純HTML不是問題。在Python中轉換非英文字符

在序列化結果中,我得到:".... defaultgroupcity=Lang%C3%A5 ...",但我應該得到:"defaultgroupcity=Langå"

現在這個角色轉換在其他項目中對我來說太長了,我需要把它弄清楚。在這個項目之前,我曾經做過replace("%C3%A5", "å"),但這是一個醜陋的黑客攻擊,而不是一個長期的解決方案。

有人可以讓我找到解決方案嗎?我想正確地學習這件事。必須有一種通用的方法來修復字符轉換。我錯過了什麼?

回答

2

您需要urllib.unquote(),當然The Absolute Minimum Every Software Developer Absolutely, Positively Must Know About Unicode and Character Sets (No Excuses!)Python Unicode HOWTO

你的第一個誘惑是認爲「這是複雜的方式」,它是,但是對於Unicode是解決方案的一般問題而言,它是人性的。

+0

嗨。 我使用urllib.unquote已經是。其餘的事情:我謙卑地鞠躬致意。我最好開始閱讀。 /Michael – BersekerBernhard

0

urllib.unquote似乎是正確的串解碼:

>>> urllib.unquote("%C3%A5") 
'\xc3\xa5' 

>>> print urllib.unquote("%C3%A5") 
å 

也許錯誤是別的地方在你的應用程序?