urllib unquote 在django template上面問題

說明

原來使用CAL9000工具進行url解碼的時候,就會出現亂碼,於是決定把它放到django的測試平臺上面

問題

當將urllib.unquote放到django頁面顯示的時候顯示的是亂碼
代碼如下:

def url_decode(self, content):
    """ 對於url進行解碼
    :param content: 要解碼的url
    :return:
    """
    urllib.unquote(content)
    print type(urllib.unquote(content))
    self.context['result'] = urllib.unquote(content).decode('gbk').encode('utf-8')

由於我的django在windows上面,所以進行了gbk轉碼
self.context[‘result’]是返回到template上的值,template上已經加上了
, 並且app的settings.py中也加上了

LANGUAGE_CODE = 'zh-CN'
TIME_ZONE = 'Asia/Shanghai'

但是解碼下面的url的時候還是亂碼

test.cn/test.php?lang=zh-Hans&reallogin=0&ver=5.3&uid=124307783&channelid=999&clientid=13&token=29ff615deae5c921919f82fc026cfa375596492c769cb0.55867742&logmod=1&deviceid=358882044514114&userinfo=%7B%22231%22%3A%22%E7%AC%BC%E6%83%B6%E5%BB%A8%E5%90%A8%E4%BA%9B%E7%8E%A9%E9%95%87%E8%AF%BD%E9%80%84%E6%B1%A0%E5%AE%84%E9%AA%98%E6%8B%A3%E9%93%AB%E9%AA%9B%E7%B4%A2%E6%93%90%E6%97%BA%E7%8B%99%E8%B7%B7%E5%A1%8C%E6%94%BE%E8%BD%B1%E4%BB%B2%E7%85%8C%E4%BA%91%E6%A8%A8%E6%A3%A3%E4%BB%85%E9%93%B6%E4%B9%B0%E8%85%8C%E7%96%A0%E6%9E%AF%E7%BF%8E%E8%B4%BD%E5%92%9D%E8%B6%A3%E8%B7%B8%E6%A0%BE%E6%9B%B0%E9%A2%8F%E5%B4%82%E6%AF%8D%E9%B2%B4%E7%A0%81%E6%97%B0%E6%83%AB%E4%BE%9B%E6%B5%99%22%7D

錯誤如下:

Django Version:     1.8.1
Exception Type:     UnicodeEncodeError
Exception Value:    

'ascii' codec can't encode characters in position 210-359: ordinal not in range(128)

於是聯想到上一次解決robotframework時出現的錯誤,應該是同一個問題,於是在虛擬的python環境下,加上sitecustomize.py問題解決
http://blog.csdn.net/u011546806/article/details/45872609

python3上面不會有這樣的問題

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章