Python 编码url时遇到问题
我正在尝试下载以下url,但它引发了一个编码错误:Python 编码url时遇到问题,python,encoding,Python,Encoding,我正在尝试下载以下url,但它引发了一个编码错误: url = 'ftp://ftp.mtps.gov.br/pdet/microdados/NOVO%20CAGED/Movimenta%E7%F5es/2020/Junho/CAGEDMOV2020/Junho.7z' urllib.request.urlretrieve(url, 'caged.7z') UnicodeEncodeError: 'latin-1' codec can't encode characters in positi
url = 'ftp://ftp.mtps.gov.br/pdet/microdados/NOVO%20CAGED/Movimenta%E7%F5es/2020/Junho/CAGEDMOV2020/Junho.7z'
urllib.request.urlretrieve(url, 'caged.7z')
UnicodeEncodeError: 'latin-1' codec can't encode characters in position 40-41: ordinal not in range(256)
我尝试对字符串进行编码,但我遇到了另一个错误(我在这里也使用了一些变量):
系统编码似乎是“utf-8”:
sys.getdefaultencoding()
Out[66]: 'utf-8'
可能
url
错误,因为urllib.parse.quote('Movimentaõões')
返回Movimenta%C3%A7%C3%B5es
,而不是Movimenta%E7%F5es
,因为quote()
函数默认使用UTF-8编码方案。
sys.getdefaultencoding()
Out[66]: 'utf-8'