Недавно начал изучать телеграм ботов на python, пока не все тонкости знаю, поэтому возникла ошибка кодировки при возрвращении ответа с сайта (узнаю погоду, обращаясь к сайту ). Возвращается ошибка кодировки:
File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.8_3.8.752.0_x64__qbz5n2kfra8p0\lib\encodings\cp1251.py", line 23, in decode
return codecs.charmap_decode(input,self.errors,decoding_table)[0]
UnicodeDecodeError: 'charmap' codec can't decode byte 0x98 in position 54: character maps to
Я так понимаю, это из-за возращаемых сайтом эмодзи (⛅️ ️+12°C ️→6.1m/s)
Вот код обращения к сайту:
def whatWeather(city):
url = f'http://wttr.in/{city}'
parameters = {
'format': 2,
'M': ''
}
try:
response = requests.get(url, params=parameters)
except requests.ConnectionError:
bot.send_message(message.chat.id, '<сетевая ошибка>')
if response.status_code == 200:
serverAnswer = response.text.strip()
bot.send_message(message.chat.id, f'Погода в городе {city}: {serverAnswer}')
else:
bot.send_message(message.chat.id, '<ошибка на серверах погоды>')
Подскажите, как указать кодировку, не жертвуя эмодзи)?