Bir dizgiyi özel chars æøå ile nasıl kodlayabilirim?Python urllib urlencode sorunu æøå ile
ex.
urllib.urlencode('http://www.test.com/q=testæøå')
bu hatayı :(olsun ..
Sen sözlüğü geçmelidir
Bir dizgiyi özel chars æøå ile nasıl kodlayabilirim?Python urllib urlencode sorunu æøå ile
ex.
urllib.urlencode('http://www.test.com/q=testæøå')
bu hatayı :(olsun ..
Sen sözlüğü geçmelidir
geçerli olmayan dize dizisi veya eşleme nesnesi bir dize, urlencode vermeyeceğinizi. Bkz Aşağıdaki doğru örnek:
from urllib import urlencode
print 'http://www.test.com/?' + urlencode({'q': 'testæøå'})
urlencode
örneğin, bir sözlük almaya yöneliktir:
>>> q= u'\xe6\xf8\xe5' # u'æøå'
>>> params= {'q': q.encode('utf-8')}
>>> 'http://www.test.com/?'+urllib.urlencode(params)
'http://www.test.com/?q=%C3%A6%C3%B8%C3%A5'
sadece URL-kodlamak için tek bir sicim isterseniz, aradığınız işlevi quote
geçerli:
>>> 'http://www.test.com/?q='+urllib.quote(q.encode('utf-8'))
'http://www.test.com/?q=%C3%A6%C3%B8%C3%A5'
Ben UTF-8'i tahmin etmek doğru kodlamadır (modern siteler için olmalı). Gerçekte ne isterseniz ?q=%E6%F8%E5
, sonra istediğiniz kodlama muhtemelen cp1252
(iso-8859-1
benzeri) 'dir.