비표준 % uxxxx 체계에 대해 알고 있지만 W3C에서 해당 체계를 거부했기 때문에 현명한 선택이 아닌 것 같습니다.
몇 가지 흥미로운 예 :
하트 캐릭터. 내 브라우저에 이것을 입력하면 :
http://www.google.com/search?q=♥
그런 다음 복사하여 붙여 넣으면이 URL이 표시됩니다.
http://www.google.com/search?q=%E2%99%A5
Firefox (또는 Safari)가이 작업을 수행하는 것처럼 보입니다.
urllib.quote_plus(x.encode("latin-1"))
'%E2%99%A5'
3 점 문자처럼 Latin-1로 인코딩 할 수없는 것을 제외하고는 말이됩니다.
…
URL을 입력하면
http://www.google.com/search?q=…
내 브라우저에 복사하여 붙여 넣으면
http://www.google.com/search?q=%E2%80%A6
뒤. 한 결과 인 것 같습니다.
urllib.quote_plus(x.encode("utf-8"))
… Latin-1로 인코딩 할 수 없기 때문에 의미가 있습니다.
그러나 브라우저가 UTF-8 또는 Latin-1로 디코딩할지 여부를 어떻게 아는지는 분명하지 않습니다.
이것은 모호한 것처럼 보이기 때문에 :
In [67]: u"…".encode('utf-8').decode('latin-1')
Out[67]: u'\xc3\xa2\xc2\x80\xc2\xa6'
작동하므로 브라우저가 UTF-8 또는 Latin-1로 디코딩할지 여부를 어떻게 파악하는지 모르겠습니다.
내가 다루어야 할 특수 문자로 옳은 일은 무엇입니까?