당신이 당신의 파일이 인코딩을 선언하지 않을 때문입니다 :
# -*- coding: utf-8 -*-
import urllib
s = u'î'
print urllib.quote(s.encode('utf-8'))
나에게 출력을 제공합니다 : 또한 당신은 coding
섹션에서 소스 파일에 대해 적절한 파일 인코딩을 지정해야 using을 사용하므로 파이썬은 현재 locale
구성에서 그것을 유추합니다. 나는이 작업을 수행하는 것이 좋습니다 것입니다 :
# -*- coding: utf-8 -*-
import urllib
mystring = "î"
print urllib.quote(mystring)
print urllib.quote_plus(mystring)
또한 이 file.py
가 utf-8
인코딩으로 디스크에 저장지고 있는지 확인하십시오.
나를 위해 그 수익률 :주의의
$python ex.py
%C3%AE
%C3%AE
커플. 인터프리터에서 이것을 시도하는 경우 콘솔 인코딩이 utf-8
이 아닌 경우 # -*- coding: utf-8 -*-
이 작동하지 않습니다. 대신 콘솔에서 사용중인 인코딩으로 변경해야합니다 (# -*- coding: (encoding here) -*-
).
mystring = "î".decode('<your encoding>')
을 그리고 나중에 utf-8
로 인코딩 urllib
에 전달 :
그런 다음 인수로 사용 decode
방법을 사용하고 그것에게 인코딩 이름 콘솔을 전달 Unicode
로 문자열을 디코딩한다
print urllib.quote(mystring.encode('utf-8'))
print urllib.quote_plus(mystring.encode('utf-8'))
희망이 도움이됩니다.
나는 당신의 코드를 실행했으며,'% C3 % AE'를 출력합니다. '% 3F', btw는'?'char로 인코딩됩니다. – alecxe