Standart olmayan% uxxxx şemasını biliyorum, ancak bu plan W3C tarafından reddedildiği için akıllıca bir seçim gibi görünmüyor.
Bazı ilginç örnekler:
Kalp karakteri. Bunu tarayıcıma yazarsam:
http://www.google.com/search?q=♥
Sonra kopyalayıp yapıştırın, bu URL'yi görüyorum
http://www.google.com/search?q=%E2%99%A5
Firefox (veya Safari) bunu yapıyor gibi görünmesini sağlar.
urllib.quote_plus(x.encode("latin-1"))
'%E2%99%A5'
Bu, üçlü nokta karakteri gibi Latin-1'de kodlanamayan şeyler dışında anlamlıdır.
…
URL'yi yazarsam
http://www.google.com/search?q=…
tarayıcıma kopyalayıp yapıştırın,
http://www.google.com/search?q=%E2%80%A6
geri. Bu yapmanın sonucu gibi görünüyor
urllib.quote_plus(x.encode("utf-8"))
bu mantıklı çünkü… Latin-1 ile kodlanamaz.
Ama o zaman tarayıcının UTF-8 veya Latin-1 ile kod çözmeyi nasıl bildiği bana açık değil.
Bu belirsiz göründüğü için:
In [67]: u"…".encode('utf-8').decode('latin-1')
Out[67]: u'\xc3\xa2\xc2\x80\xc2\xa6'
çalışır, bu yüzden tarayıcının bunu UTF-8 veya Latin-1 ile çözüp çözmeyeceğini nasıl anladığını bilmiyorum.
Başa çıkmam gereken özel karakterlerle yapmam gereken doğru şey nedir?