@zhmerin

Как исправить ошибку 'ascii' codec can't decode byte 0xd0 in position 0: ordinal not in range(128)?

Привет, пытаюсь запустить своего бота на https://www.pythonanywhere.com/
Но получаю такую ошибку:
UnicodeDecodeError: 'ascii' codec can't decode byte 0xd0 in position 0: ordinal not in range(128)
Ругается на эту строку в боте:

bot.edit_message_text(chat_id = c.message.chat.id, message_id = c.message.message_id, text = yourorder + u'Страна: ' + district + '\n\n' + u'Выбери товар', reply_markup=key)

p.s. переменные yourorder и district содержат кириллицу
  • Вопрос задан
  • 13827 просмотров
Решения вопроса 1
trapwalker
@trapwalker Куратор тега Python
Программист, энтузиаст
yourorder = yourorder.decode('utf-8')  # или 'cp1251' или 'cp866' или что та у вас
district = district.decode('utf-8')
bot.edit_message_text(
    chat_id=c.message.chat.id,
    message_id=c.message.message_id,
    text= u'{}Страна: {}\n\nВыбери товар'.format(yourorder, district), 
    reply_markup=key,
)

Ещё вы смешиваете конкатенацией юникод-строки и неюникод ('\n\n'). Не надо так.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы